我使用 rsync 备份一个目录,这个目录很大,包含很多子目录和文件,所以我不想看到“增量文件列表”。我只想知道最后的摘要。如果我使用参数-q
,则什么都不会输出。我可以让 rsync 只输出摘要吗?
答案1
使用以下内容:
rsync -vr src/ dest/ | sed '0,/^$/d'
说明:rsync
使用标志以详细模式运行-v
。它输出详细的文件列表、空行和摘要。现在sed
用于利用摘要由空行分隔的事实。直到第一个空行的所有内容都不会打印到标准输出。^$
匹配空行并d
阻止其输出。
答案2
得益于Wayne Davison 的提示,我使用以下--stats
选项进行备份:
rsync -a --stats src/ dest/
最后有一个很好的小总结,例如
Number of files: 6765
Number of files transferred: 0
Total file size: 709674 bytes
Total transferred file size: 0 bytes
(10 more lines)
答案3
尝试这个命令
rsync -a --info=progress2 --stats source destination
输出
32,342,135 10% 134.45kB/s 0:03:54 (xfr#386, to-chk=1059/7326)
答案4
您可以运行试运行,计数文件,然后使用 pv 命令运行它:
dry_run_output=$(rsync -avn --stats source/ destination/)
file_count=$(echo "$dry_run_output" | awk '/to-chk/ || /Number of created files/ {gsub(",", "", $5); print $5}')
rsync -avz --stats source/ destination/ | awk '/to-chk/ || /Number of created files/ {print}' | pv -l -s "$file_count"