我成功使用以下命令
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
并--from0
从rsync
.不同之处在于,您将无法复制名称中包含嵌入换行符的文件