如何跳过 gsutil rsync 中的现有文件

Posted

技术标签:

【中文标题】如何跳过 gsutil rsync 中的现有文件【英文标题】:How to skip existing files in gsutil rsync 【发布时间】:2018-11-08 20:27:48 【问题描述】:

我想在我的本地计算机磁盘上的目录和我的 Google Cloud Storage 存储桶之间复制文件,条件如下:

1) 复制所有新文件和文件夹。

2) 跳过所有现有文件和文件夹,无论它们是否已被修改。

我已尝试使用 Google ACL 策略来实现这一点,但它似乎不起作用。

我正在使用 Google Cloud Storage 管理员服务帐户将我的文件复制到存储桶。

【问题讨论】:

这个问题应该是服务器故障。看gsutil cp -n ...。 【参考方案1】:

正如@A.Queue 所评论的,跳过现有文件的解决方案是使用带有-n 选项的gsutil cp 命令。此选项表示无clobber,这样Cloud Storage存储桶中已经存在的所有文件和目录都不会被覆盖,而只会将新文件和目录添加到存储桶中。

如果你运行以下命令:

gsutil cp -n -r . gs://[YOUR_BUCKET]

您将复制 Cloud Storage 存储分区中不存在的所有文件和目录(包括包含所有文件和子目录的整个目录树),而所有已经存在的文件和目录都将被跳过。

您可以在此link 中找到与此命令相关的更多信息。

【讨论】:

以上是关于如何跳过 gsutil rsync 中的现有文件的主要内容,如果未能解决你的问题,请参考以下文章

如何在文件列表上使用 gsutil rsync

无论如何要在某个时间戳之后 rsync gsutil 文件?

继续中断 rsync 后 .gstmp 文件上的 gsutil rsync 错误

在大文件上使用 rsync 的 gsutil int 错误

如何从 python 脚本成功调用 gsutil rsync?

为啥 gsutil rsync 会重新下载我们所有的文件?