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

Posted

技术标签:

【中文标题】无论如何要在某个时间戳之后 rsync gsutil 文件?【英文标题】:Anyway to rsync gsutil files after a certain timestamp? 【发布时间】: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”以查看是否还有更多选项 【参考方案1】:

据我了解,没有这样的方法可以使用gsutil rsync 来完成您正在寻找的事情。 this document 也没有提供任何类似的选项来做同样的事情。您可以考虑在运行 rsync 命令后删除目标目录中不需要的文件。

【讨论】:

以上是关于无论如何要在某个时间戳之后 rsync gsutil 文件?的主要内容,如果未能解决你的问题,请参考以下文章

poj 1144 Network

如何在 SQL DBeaver 中查找时间戳大于某个日期时间的数据?

php获取今天某个时间的时间戳的方法

时间戳如何储存数据

如何利用PHP时间戳获取当前时间

如何使用 IPC::Run 回答 rsync 密码提示?