寻求可监控文件大小增长、传输速率并计算进度条/ETA的CLI工具方案
寻求可监控文件大小增长、传输速率并计算进度条/ETA的CLI工具方案
嘿,我刚好折腾过Proxmox备份的实时监控问题,给你几个亲测靠谱的CLI方案,完美解决你要的文件大小增长、传输速率、进度条/ETA需求:
方案一:用progress工具跟踪vzdump进程(最省心)
你之前以为progress只支持cp/mv这类coreutils命令?其实它藏着大招——能跟踪所有正在进行文件写入的进程!Proxmox的备份本质是后台跑的vzdump命令,直接用下面的命令就能一键监控:
progress -w -p $(pgrep vzdump)
参数小说明:
-w:调出好看的进度条,直观看到完成比例-p:指定要跟踪的进程PID,pgrep vzdump会自动抓vzdump的进程号,不用你手动查PID
它会自动输出当前写入的文件大小、实时传输速率、已用时间和预估的ETA,完全不用自己折腾管道!
方案二:用pv直接监控目标文件的增长
你之前的tail -f管道姿势不对才没效果!tail -f只会等文件有新内容追加时才输出,pv根本抓不到持续的数据流。换个写法,直接让pv盯着文件的实时增长:
pv -tpreb <(tail -c +0 -f <你的备份文件名>) > /dev/null
参数小说明:
-t:显示已用时间-p:显示进度条-r:显示实时传输速率-e:显示预估ETA-b:显示当前文件大小
这里用tail -c +0 -f是从文件开头开始实时输出所有内容,这样pv就能正确捕捉到文件增长的速率了。
方案三:用watch配合du做基础监控(最轻量,无额外工具)
如果你的系统暂时不想装额外工具,用系统自带的watch+du也能应急,虽然没有花里胡哨的进度条,但能实时看文件大小变化:
watch -n 1 "du -h <你的备份文件名>"
-n 1表示每秒刷新一次,du -h会输出文件的当前大小,你可以自己大概估算速率和ETA,适合临时救急。
额外小技巧:直接看Proxmox原生备份日志
对了,其实Proxmox本身就自带备份进度日志!直接tail日志文件就能看到官方输出的进度、速率和ETA,完全不用额外工具:
tail -f /var/log/vzdump.log
日志里会定期更新备份的完成百分比、当前写入速率,甚至还有预估的剩余时间,是最原生的监控方式。
备注:内容来源于stack exchange,提问作者victorhooi
相关产品推荐
相关产品推荐

