有没有可能指定一个时间范围,使得rsync仅在最近更改的文件上操作。
我正在编写一个脚本,在SSH上备份最近添加的文件,rsync似乎是一个高效的解决方案。我的问题是,我的源目录包含大量旧文件,我对它们不感兴趣,也不想备份。
到目前为止,我遇到的唯一解决方案是使用ctime查找生成--files-from文件。这种方法可以解决问题,但我必须处理一些旧版本rsync不支持--files-from的安装。我正在考虑以同样的方式生成--include-from模式,但希望找到更优雅的解决方案。
有没有可能指定一个时间范围,使得rsync仅在最近更改的文件上操作。
我正在编写一个脚本,在SSH上备份最近添加的文件,rsync似乎是一个高效的解决方案。我的问题是,我的源目录包含大量旧文件,我对它们不感兴趣,也不想备份。
到目前为止,我遇到的唯一解决方案是使用ctime查找生成--files-from文件。这种方法可以解决问题,但我必须处理一些旧版本rsync不支持--files-from的安装。我正在考虑以同样的方式生成--include-from模式,但希望找到更优雅的解决方案。
看起来你可以在rsync的参数中指定shell命令(参见Remote rsync executes arbitrary shell commands)。
因此,我已经成功地通过使用以下方式限制rsync查看的文件:
rsync -av remote_host:'$(find logs -type f -ctime -1)' local_dir
该命令查找在最近一天内更改的所有文件(-ctime -1),然后将这些文件同步到local_dir。
我不确定这个功能是否是按设计来的,但我仍在深入研究文档。
我可以建议您放弃使用rsync,转而考虑使用rdiff-backup吗?