rsync 坚持使用 --checksum 选项

rsync 坚持使用 --checksum 选项

我使用 back-in-time 来备份我的 Linux 安装。它充当命令的高级包装器rsync

今天我尝试将 /var/log 添加到要备份的文件夹列表中,结果导致了一些严重的性能问题。该作业似乎卡在某个文件上,rsync父进程的 CPU 使用率达到 100%。然后我lsof查看了哪个文件导致了问题,结果似乎是/var/log目录。

我谷歌了一下,并尝试了不同的rsync选项,发现--checksum问题出在它上面。如果没有这个参数,增量备份可以在几分钟内正常完成。如果有这个参数,当rsync尝试同步不断变化的日志文件时,该过程将卡住。这有点道理,但在我看来这仍然是一个错误。

我是否正确使用了该选项? 有解决方法吗?

答案1

您可能考虑在同步之前执行日志轮换。跳过活动文件,只备份存档。您甚至可以在日志正常轮换后将 rsync 设置为后轮换操作。

答案2

请记住,校验和仅用于验证文件传输是否已成功完成。如果您愿意的话,这是一种确保文件未损坏的方法。

这可能不是您想要的答案,但 --checksum 会很慢。没有办法解决这个问题。如果我是您,我会创建一个快速的 bash 脚本来压缩您运行备份之前的所有日志。

快速做点什么就够了:

#!/bin/sh
for file in /path/to/log/dir/*;
do;
zip `basename $file`.zip *;
rm -f "$file";
done;

然后运行备份。这将使 rsync 免于创建可能很大的日志文件的校验和。

态度好点...我知道这不是你想要的答案。

祝你好运

相关内容