You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让rsync仅将统计摘要输出到日志文件?

如何让rsync仅将统计摘要输出到日志文件?

嗨,这个需求我太懂了——用rsync同步时,既不想被一大堆文件列表刷屏,又只想把干净的统计摘要存下来用于邮件通知对吧?给你几个简单靠谱的方案:

  • 最直接的方案:用--quiet抑制文件列表输出,再重定向统计信息
    rsync的--stats参数生成的摘要信息是输出到标准输出(stdout)的,而默认的文件同步明细会直接显示在屏幕上。我们可以用--quiet(或简写-q)把这些明细关掉,再把剩下的统计摘要直接重定向到文件里:

    rsync -a --quiet --stats src/ dest/ > rsync_summary.log
    

    这样rsync_summary.log里就只有你需要的统计数据了,比如文件数量、传输字节数、同步耗时这些核心信息,完全干净。

  • 如果需要保留屏幕输出但仅存摘要到文件
    要是你运行脚本时还想在屏幕上看到同步的文件明细,但只把统计摘要存文件,可以利用管道过滤统计部分。不过要注意不同rsync版本的统计格式可能略有差异,示例如下:

    rsync -a --stats src/ dest/ 2>&1 | grep -A 30 "Number of files:" > rsync_summary.log
    

    这里-A 30表示匹配到"Number of files:"后,再取后面30行内容(足够覆盖大部分rsync的统计摘要),这样就能把统计部分单独提取出来存文件,屏幕上还是能看到所有同步信息。

  • 额外小技巧:同时捕获错误信息
    脚本运行时如果需要记录同步错误,可以把错误输出(stderr)单独存到另一个文件,方便后续排查:

    rsync -a --quiet --stats src/ dest/ > rsync_summary.log 2> rsync_errors.log
    

之前你用--log-file之所以会生成大文件,是因为这个参数本来就是用来记录所有同步操作的详细日志(每个文件的增删改、权限变化等),和--stats的摘要不是一回事,所以确实不是实现你需求的正确方式~

备注:内容来源于stack exchange,提问作者Scar_UY

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 09:19:35