5

我看到当我将 rsync 与 -v 选项一起使用时,它会在最后打印更改的文件列表和一些有用的信息,例如总传输大小。

是否有可能剪掉第一个(长)部分并打印统计数据?我在脚本中使用它,日志不应该那么长。只有统计数据有用。

谢谢你。

4

3 回答 3

4

当我在寻找答案并遇到这个问题时:
rsync 也支持该--stats选项。

于 2015-10-05T11:40:50.413 回答
4

我认为目前最好的解决方案:

rsync --info=progress0,name0,flist0,stats2 ...

  • progress0 隐藏进度
  • progress2 显示进度
  • name0 隐藏文件名
  • stats2 显示传输结束时的统计信息
于 2020-01-02T14:45:53.883 回答
1

这个解决方案比正确的方法更像是一种“hack”,因为输出是生成的,但只是在之后过滤。您可以使用该选项--out-format

rsync ... --out-format="" ... | grep -v -E "^sending|^created" | tr -s "\n"

grep过滤器可能应该使用您在输出中看到的不需要的行进行更新。这里tr是为了过滤长​​序列的回车。

  • grep -E对于扩展的正则表达式
  • grep -v反转比赛。“选定的行是那些不匹配任何指定模式的行。”
  • tr -s将重复的回车压缩成一个
于 2013-09-30T10:45:32.570 回答