通过 ssh 与日期过滤器进行 Rsync

通过 ssh 与日期过滤器进行 Rsync

我成功使用以下命令

rsync -e 'ssh' -avr [email protected]:/home/mikrotik /bck/mikrotik/

如何向此命令添加日期过滤器?我只想同步比以下版本更新的文件n从远程目录[email protected]:/home/mikrotik到本地目录的天数/bck/mikrotik/

答案1

除非您有意定期删除/bck/mikrotik源系统上仍然存在的文件,或者您有数千个文件并且您在rsync跳过已传输的文件时看到时间影响,否则您的日期过滤器应该是不必要的。

然而,话虽如此,您可以使用它find来生成一组候选文件以供传输。在这里,我们仅考虑过去 7 天内创建/修改的文件:

ssh -n [email protected] 'cd /home/mikrotik && find . -type f -mtime -7 -print0' |
    rsync -av --files-from='-' --from0 [email protected]:/home/mikrotik /bck/mikrotik/

如果您没有find支持的版本-print0,请将其替换为-print--from0rsync.不同之处在于,您将无法复制名称中包含嵌入换行符的文件

相关内容