【发布时间】:2021-10-09 20:57:27
【问题描述】:
我想知道是否有办法将 rsync 文件从本地计算机传输到 GCS 存储桶,但仅限于在给定时间戳之后具有创建或修改时间戳的文件。
此rsync 命令将定期运行以将文件从本地计算机同步到存储桶。我最终想从存储桶中删除这些文件,但是如果再次运行 rsync 命令,我假设被删除的文件会重新添加到存储桶中。我只想同步在上次rsync 运行的时间戳之后添加或修改的文件。
例如,假设我的 rsync 命令在新的一天开始时(凌晨 12:00)运行
我有文件 file.txt 并且我运行了我的 rsync 命令运行。我的存储桶现在应该有file.txt。
我在下次运行之前从我的存储桶中删除了file.txt,并添加了一个名为newfile.txt 的新文件。下次运行rsync 命令时,我只希望newfile.txt 在存储桶中,因为这是自上次运行rsync 以来的一个新文件,并且没有对file.txt 进行任何更改。
可以这样做吗?任何帮助将不胜感激,谢谢!
【问题讨论】:
-
嗨,我相信还有其他方法可以做到这一点,但我想知道您是否可以从源目录本身删除不需要的文件?在这种情况下,您可以使用“gsutil rsync -d”命令删除 dst_url 下未在 src_url 下找到的额外文件。在这种情况下,您无需编写代码来从存储桶中删除文件。存在风险,只有在您确定存储桶仅包含您在本地拥有的文件并且不会出现存储桶中的文件不在本地的情况时才应使用。
-
我不确定您是否已经检查过“gsutil help rsync”以查看是否还有更多选项
标签: google-cloud-platform google-cloud-storage rsync gsutil