将Google Cloud Storage与rsync配合使用

时间:2014-09-11 09:08:24

标签: google-cloud-storage

我是Google Cloud新手。我们历来使用AWS进行在线备份 - 本质上,我们的本地服务器将rsync运行到AWS的EC2实例,并且一切正常。我现在正尝试从AWS迁移到Google,当然设置也非常不同。使用gsutil rsync,它看起来好像我根本不需要启动计算引擎,我可以直接将内容推送到gs:// aws_mnt bucket

在我的AWS实例上安装了SDK后,我可以使用gsutil cp -n

轻松地将所有备份推送到gs:// aws_mnt存储桶

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

我有两个问题:

  1. 尽管阅读了相应的文档(here),但我太愚蠢了,我无法弄清楚如何永久授权本地服务器,因此我不必进行gcloud auth登录并从每个会话的浏览器中获取代码,以及一个不能真正起作用的cron作业。

  2. 当我尝试将gsutil rsync从本地服务器用于从AWS预先填充的gs:// aws_mnt存储桶时,出现错误:

  3. gsutil rsync / mnt / archive / backups gs:// aws_mnt / kahless 建立同步状态...... 跳过云子目录占位符对象gs:// aws_mnt / kahless / 开始同步

    对此错误on github进行了一些讨论,并且我已经从

    中产生了详细的输出

    gsutil -D -m rsync / mnt / archive / backups gs:// aws_mnt / kahless

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

    罗斯

1 个答案:

答案 0 :(得分:1)

回答你的问题:

  1. 使用gcloud auth配置凭据后,'gcloud auth login'命令将导致它们被选中,直到您登录到其他凭据...并且该状态将持续存在且不需要您通过除非/直到您撤销这些凭据,否则将再次进行浏览器会话。注意:如果您正在考虑从无人参与的脚本(例如,通过cron)运行命令,请考虑使用服务帐户凭据。有关详细信息,请参阅https://developers.google.com/cloud/sdk/gcloud/#gcloud.auth

  2. “跳过...”消息不是错误 - 它只是告诉你gsutil正试图下载占位符对象,因为这些对象不需要(并且会干扰)目录本地文件系统。我将在下一版本的gsutil中更新消息,以使其更清晰。所以,你看到的是第二轮gsutil rsync在比较源和目标后发现无事可做,并且正常完成。