让rsync仅报告已更新的文件

ned*_*ned 7 rsync

当rsync打印出它为每个文件做的详细信息时(使用其中一个详细标志),它似乎包括已更新的文件和未更新的文件.例如,使用-v标志的输出片段如下所示:

rforms.php is uptodate
robots.txt is uptodate
sorry.html
thankyou.html is uptodate
Run Code Online (Sandbox Code Playgroud)

我只对更新的文件感兴趣.在上面的例子中sorry.html.它还会在输入目录名时打印出目录名,即使该目录中没有更新的文件也是如此.有没有办法过滤掉这个输出中没有更新文件的uptodate文件和目录?

Jef*_*eff 5

您可以通过 grep 管道它:

rsync -vv (your other rsync options here) | grep -v 'uptodate'
Run Code Online (Sandbox Code Playgroud)


Ric*_*ael 5

Rsync的输出可以进行广泛的定制,看看rsync --info=help; -v从现代rsync获取信息是一种相当粗略的方法.

在你的情况下,我不确定你认为"更新"的意思.例如,在接收器上也删除了?只有文件/目录,还有管道和符号链接?修改/访问时间或仅内容?

作为一个简单的测试,我建议你看看:rsync --info=name1 <other opts>.

  • 如何以“任何方式触摸”进行更新? (2认同)