![如何找出 rsync 备份过程中耗时最长的部分?](https://linux22.com/image/177776/%E5%A6%82%E4%BD%95%E6%89%BE%E5%87%BA%20rsync%20%E5%A4%87%E4%BB%BD%E8%BF%87%E7%A8%8B%E4%B8%AD%E8%80%97%E6%97%B6%E6%9C%80%E9%95%BF%E7%9A%84%E9%83%A8%E5%88%86%EF%BC%9F.png)
我想找出频繁备份的哪些部分(中间只有很少的更改)花费的时间最长,以减少所需的时间并减少 I/O 流。
我在用着回溯时间 (BiT)用于我的 Debian10/KDE 机器上的备份。
我认为找出答案的选项是:
- 以某种方式检查正在运行的同步进程
- 例如通过运行
sudo lsof -c rsync | grep "backup/"
来显示当前正在备份哪些文件。然而,这个示例性命令并不是很有用。
- 例如通过运行
- 分析 rsync 日志和/或
- 更改 rsync 参数(BiT 具有“将其他选项粘贴到 rsync”选项)和/或
- 以某种方式促进对 rsync 和/或 BiT 软件的更改以输出此类信息(最好是包含相关信息的相对持续时间子进程或日志)
- 我在 BiT 上创建了一个问题这里目前看来 BiT 还不可能实现这一点。
- 和/或也许是其他东西
- 一种间接选择是手动、单独检查包含的目录中哪些文件数量最多以及哪些文件最大。然而,这些可能不是唯一需要很长时间的事情 - 例如,因为我已经检查了 BiT 选项“使用校验和来检测更改”。
如何加快速度将是一个单独的问题 - 例如,可以“散列目录”来检测自上次备份以来是否有更改(修改/添加/删除),而不是检查每个文件包含许多文件的目录或通过更改文件的元信息。但首先我想了解如何找出备份时间过长的原因。