Google cloud storage 通过rsync使用谷歌云存储

Google cloud storage 通过rsync使用谷歌云存储,google-cloud-storage,Google Cloud Storage,我是谷歌云的新手。我们在历史上使用AWS进行在线备份——本质上,我们的本地服务器在AWS上对一个EC2实例运行rsync,并且一切正常。我现在正在尝试从AWS迁移到Google,当然设置是非常不同的。有了gsutil rsync,我觉得我根本不需要启动计算引擎,我可以直接把东西推到gs://aws\u mnt桶中 在AWS实例上安装SDK后,我能够使用gsutil cp-n非常轻松地将所有备份推送到gs://AWS\u mnt bucket 但接下来我想在本地服务器上运行一个cron作业,它使用

我是谷歌云的新手。我们在历史上使用AWS进行在线备份——本质上,我们的本地服务器在AWS上对一个EC2实例运行rsync,并且一切正常。我现在正在尝试从AWS迁移到Google,当然设置是非常不同的。有了gsutil rsync,我觉得我根本不需要启动计算引擎,我可以直接把东西推到gs://aws\u mnt桶中

在AWS实例上安装SDK后,我能够使用gsutil cp-n非常轻松地将所有备份推送到gs://AWS\u mnt bucket

但接下来我想在本地服务器上运行一个cron作业,它使用rsync而不是cp,原因很明显

我有两个问题:

  • 尽管阅读了相应的文档(),但我太笨了,我不知道如何永久授权本地服务器,这样我就不必每次会话都进行gcloud auth登录并从浏览器中获取代码,就像cron作业一样,它实际上不起作用

  • 当我尝试从本地服务器使用gsutil rsync到从aws预填充的gs://aws\u mnt存储桶时,我得到一个错误:

  • gsutil rsync/mnt/archive/backups gs://aws\u mnt/kahless 正在生成同步状态。。。 跳过云子目录占位符对象gs://aws\u mnt/kahless/ 开始同步

    关于这个错误有一些讨论,我已经从

    gsutil-D-m rsync/mnt/archive/backups gs://aws\u mnt/kahless

    但由于这是一个全新的SDK安装,我无法想象线程还没有被处理,所以我一定是做错了什么


    Rus

    回答您的问题:

  • 使用gcloud auth配置凭据后,“gcloud auth login”命令将导致选择凭据,直到您登录到其他凭据。。。并且该状态将持续,并且不要求您再次执行浏览器会话,除非/直到您撤销这些凭据。注意:如果您正在考虑从无人参与的脚本(例如,通过CRON)运行命令,请考虑使用服务帐户凭据。有关更多详细信息,请参阅

  • “skipping…”消息不是错误-它只是通知您gsutil正在跳过尝试下载占位符对象,因为本地文件系统的目录中不需要(并且会干扰)此类对象。我将在下一版本的gsutil中更新该消息,以使其更加清晰。因此,您看到的是,第二次运行gsutil rsync在比较了源和目标之后没有发现任何事情要做,并且正常完成


  • 我正在尝试将一个bucket重新同步到一个空bucket中,我收到了跳过占位符的消息。目标桶是空的,所以我不知道发生了什么。我正在使用下面的“gsutil-m rsync-n-p-d-r gs://bucket1 gs://bucket2”-这失败了,但我可以rsync bucket1中的目标目录…Pablo先生@-当你说rsync命令失败时,你是说它没有复制对象吗?您指定了-n选项,这将导致rsync在“干运行”模式下运行。如果您关闭该选项,它将为您复制对象。对不起,我在运行命令时没有使用-n选项。当它失败时,是的,它无法复制对象。我收到了“跳过”的消息,尽管目标桶完全是空的。Pablo先生-请将您试图运行的确切命令发送给gs-team@google.com,请注意,以便我进一步调查。