![如何验证/恢复 tar czf 的全系统备份?](https://linux22.com/image/883476/%E5%A6%82%E4%BD%95%E9%AA%8C%E8%AF%81%2F%E6%81%A2%E5%A4%8D%20tar%20czf%20%E7%9A%84%E5%85%A8%E7%B3%BB%E7%BB%9F%E5%A4%87%E4%BB%BD%EF%BC%9F.png)
我想测试整个系统备份是否与原始系统相对应。了解一些有关快速质量保证的基本测试会很棒,因为我没有时间总是将其完全解压。备份backup.tar.gz
系统并排除
# http://unix.stackexchange.com/a/291720/16920
sudo nice tar czf /media/masi/ntfsDisc/backup.tar.gz --exclude=/home \
--exclude=/media --exclude=/dev \
--exclude=/mnt --exclude=/sys \
--exclude=/run --exclude=/proc /
案例研究测试
如何处理备份过程中文件发生变化的情况?
tar: Removing leading `/' from member names tar: /home/masi/.gnupg/S.gpg-agent: socket ignored tar: /home/masi/.config/chromium/Default: file changed as we read it tar: /home/masi/.config/chromium: file changed as we read it tar: /home/masi: file changed as we read it
如何处理被忽略的套接字?
tar: Removing leading `/' from member names tar: /tmp/.X11-unix/X0: socket ignored tar: /tmp/.ICE-unix/1666: socket ignored tar: /tmp/qtsingleapplication-7af9-3e8: socket ignored tar: /tmp/.org.chromium.Chromium.2qSs7o/SingletonSocket: socket ignored
测试方法
- 获取目录的 md5 图。将其与当前系统进行比较。它应该没有太大变化。
- 如果 md5 的变化超过重要性因子
- 对目录中的内容进行一些特定的搜索,这些内容应该足够垂直以满足系统测试。
- 目的:实时质量保证。分配计算并在功率和持续时间之间取得平衡
nice
。TODO 流程和子流程的计时。
测试要求
- 备份文件和本地文件之间的权限/所有者保持不变。
系统:Ubuntu 16.04
系统文件系统:ext4
外部硬盘文件系统:NTFS
答案1
对于备份过程中更改的文件,您能做的不多,不过我猜您可以编写一个包装器脚本,在之后替换这些文件。但在繁忙的系统上,您可能永远无法完成。
可以安全地忽略 Unix 域套接字。下次启动创建它们的进程时,它们将被重新创建。它们有点像管道 (shell |)。
验证 tar 备份的最佳方法是使用 Gnu tar 的 --diff 选项。
也可以看看https://serverfault.com/questions/293605/check-integrity-of-tar-gz-backup