You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

使用rsnapshot时能否显示rsync --info=progress2的实时进度信息?

使用rsnapshot时能否显示rsync --info=progress2的实时进度信息?

嘿,我太懂这种纠结了!之前我也是因为Timeshift不保存扩展属性导致恢复后系统出问题,转用rsnapshot的时候,也碰到过一模一样的情况——明明在配置里加了--info=progress2,却看不到rsync那种实时滚动的进度条,只能干等着,急死人!

别担心,是可以实现的,问题出在rsnapshot默认的输出处理方式上,它会把rsync的实时输出给“藏”起来,咱们只要调整两个地方就行:

1. 确认配置里的rsync参数设置

打开你的rsnapshot配置文件(一般是/etc/rsnapshot.conf),找到rsync_long_args这一行,确保已经把--info=progress2加进去了,比如:

rsync_long_args --delete --numeric-ids --relative --delete-excluded --info=progress2

同时检查rsync_short_args,确保没有-q(静默模式),默认一般是-a,没问题的话就继续下一步。

2. 让rsnapshot实时输出rsync的进度

rsnapshot默认会把rsync的输出缓冲起来,或者重定向到日志文件,所以手动运行的时候,咱们需要用两个小技巧:

  • 第一,运行rsnapshot时加上-v参数(verbose模式),让它不要隐藏rsync的输出;
  • 第二,用stdbuf命令强制无缓冲输出,这样进度条就能实时滚动显示了。

举个例子,如果你要运行daily快照,命令就是:

stdbuf -oL -eL rsnapshot -v daily

这样就能看到熟悉的rsync进度条了,比如:

71,256,901,358 99% 36.30MB/s 0:31:12 (xfr#173389, ir-chk=1000/361047)

要是你只是偶尔手动运行看进度,这个方法完全够用;如果是cron任务里运行,其实也没必要实时输出,日志里会记录完整的同步信息。

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

火山引擎 最新活动