Linux 归档入门:用 tar 创建并验证一份练习备份
把文件复制到另一个目录,或打包成压缩文件,并不代表备份已经验证。学习归档时,除了掌握创建命令,还应确认包里有哪些文件,并在独立目录中试着恢复。下面用 GNU tar 和 gzip 做一个小练习。
一、准备独立的示例目录
请在自己的工作目录中使用尚未存在的名称,避免覆盖已有文件。以下命令适用于 Bash:
mkdir tar-practice
cd tar-practice
mkdir project
printf 'first note\n' > project/notes.txt
printf 'draft\n' > project/todo.txt
现在 project 中有两个文本文件。示例只处理这两个练习文件;重要数据应先确认路径、权限和备份策略,再执行归档操作。
二、创建压缩归档
在 tar-practice 目录执行:
tar -czf project-backup.tar.gz project
-c 表示创建归档,-z 使用 gzip 压缩,-f 指定后面的归档文件名。归档文件保存在 project 目录外,可以避免把正在生成的归档放入待打包目录。创建前确认目标文件名未被使用,因为创建操作可能覆盖同名文件。
三、先列出内容
tar -tzf project-backup.tar.gz
这里 -t 列出归档成员,不会执行解压。输出应包含 project 目录和两个文件。查看成员能帮助发现遗漏,也能在解压前确认文件会以怎样的目录结构出现。路径名称不熟悉或来源不可信时,应先查明内容和来源,不要直接解压到重要目录。
四、在新目录中验证恢复
创建一个不存在的空目录,然后把练习归档解压进去:
mkdir restore-check
tar -xzf project-backup.tar.gz -C restore-check
cat restore-check/project/notes.txt
diff -r project restore-check/project
-x 表示解压,-C 指定解压目录,目录需要事先存在。cat 应显示第一份笔记;diff -r 递归比较两个目录,若内容相同通常没有输出。没有输出并不等于所有元数据都一致,它只是这次比较的一部分。
若提示文件找不到,先确认当前目录、归档文件名和 -C 指定的路径。归档中已经包含 project 这一层,因此恢复路径是 restore-check/project。如果想检查命令是否成功,可紧接着查看退出状态,再决定是否继续后面的操作。
五、把练习转化为备份习惯
生产数据可能在归档过程中持续变化,数据库也可能需要专门的备份方法。单纯打包不能自动保证应用层数据一致;还应考虑备份位置、访问权限、保存周期和恢复演练。
归档文件和原数据放在同一块磁盘上,遇到磁盘故障可能一起丢失。根据数据重要程度,把副本保存在合适的独立位置,并定期验证能否恢复。练习结束后,可在确认不再需要示例文件时自行清理练习目录。
- 点赞
- 收藏
- 关注作者
评论(0)