在日常使用电脑时,我们经常需要把文件打包压缩,方便存储或发送给朋友。但有时候会遇到问题,比如压缩包打不开、文件损坏,或者备份后发现少了东西。这时候,掌握一些测试常用的命令就特别有用。
检查压缩包是否完整
用 tar 打包完一组文件后,谁也不能保证它一定能顺利解压。特别是在传输过程中,网络中断可能导致文件不完整。这个时候可以用下面的命令来测试:
tar -tzf backup.tar.gz
这个命令会列出压缩包里所有文件名,同时验证压缩包能否正常读取。如果中间报错,说明压缩包有问题,别急着解压,先重新下载或复制一份。
自动检测备份脚本中的错误
很多人会写个定时备份脚本,让系统每天自动打包重要资料。但脚本跑了几周后,某天突然发现备份的其实是空文件夹。为了避免这种情况,可以在脚本末尾加一条测试命令:
if tar --test-label -f daily_backup.tar 2>/dev/null; then
echo "备份标签正常"
else
echo "备份文件异常!" | mail -s "备份警报" user@example.com
fi
这样一旦备份出问题,就会自动发邮件提醒你,不至于等到真要用的时候才发现数据丢了。
对比压缩前后内容是否一致
有时候我们需要确认压缩再解压一遍,文件会不会变样。可以用校验和来比对:
find /data -type f -exec md5sum {} \; > before.txt
tar -xzf data.tar.gz -C /tmp
find /tmp/data -type f -exec md5sum {} \; > after.txt
diff before.txt after.txt
如果 diff 没输出,说明压缩解压过程没丢数据,可以放心归档。
快速查看压缩日志内容
服务器上的日志常按天压缩归档,查问题时不想全解压,可以直接用 zcat 或 zgrep:
zgrep "error" app.log.2024-05-20.gz
这条命令能直接在压缩包里搜关键词,省得先把几兆的日志解压出来再翻。
这些测试常用的命令看起来简单,但在关键时刻能帮你省下大把时间。特别是做备份这种事,宁可多花一分钟验证,也别等到硬盘坏了才后悔没早点检查。