如何验证/恢复 tar czf 的全系统备份?

如何验证/恢复 tar czf 的全系统备份?

我想测试整个系统备份是否与原始系统相对应。了解一些有关快速质量保证的基本测试会很棒,因为我没有时间总是将其完全解压。备份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 /

案例研究测试

  1. 如何处理备份过程中文件发生变化的情况?

    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
    
  2. 如何处理被忽略的套接字?

    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
    

测试方法

  1. 获取目录的 md5 图。将其与当前系统进行比较。它应该没有太大变化。
  2. 如果 md5 的变化超过重要性因子
    • 对目录中的内容进行一些特定的搜索,这些内容应该足够垂直以满足系统测试。
  3. 目的:实时质量保证。分配计算并在功率和持续时间之间取得平衡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

相关内容