tar 与 gzip 压缩归档实战:备份、打包与解压一次讲清
在 Linux 服务器上做备份,图形工具往往指望不上,tar 加 gzip 几乎是每台机器都自带的标准组合。学会它们,日常打包代码、备份配置、迁移数据都能一两条命令搞定。
一、tar 与 gzip 各管什么
tar 负责把多个文件和目录打包成一个文件,本身不压缩;gzip 负责把单个文件压小。两者组合成 .tar.gz,既保留了目录结构,又省了磁盘空间。解包时顺序正好反过来:先由 gzip 解压,再由 tar 还原目录。
二、打包与压缩
打包当前目录下的项目并压缩:
tar -czvf project.tar.gz project/
选项很好记:c 是创建,z 是调用 gzip,v 是显示过程,f 是指定包名。打包后用 ls -lh 看一眼大小,确认备份确实生成了。
三、查看包里有什么
解压前先看清单,避免解出一堆不知道是什么的文件:
tar -tzvf project.tar.gz
t 是列出内容。养成先看再解的习惯,能少踩很多坑。
四、解压到指定目录
mkdir -p /tmp/restore
tar -xzvf project.tar.gz -C /tmp/restore
x 是解压,-C 指定目标目录,目录不存在要先建好。只想取其中一个文件时,在包名后面写上文件路径即可。
五、排除不需要的目录
日志、缓存、依赖目录往往又大又没必要备份:
tar -czvf backup.tar.gz --exclude='*.log' --exclude='node_modules' project/
–exclude 可以写多次,也支持通配符。
六、结合 cron 做定期备份
把打包命令写进脚本,再交给 cron 每天凌晨执行,备份就自动化了。脚本里给包名加上日期,例如 backup-$(date +%F).tar.gz,方便按天查找,旧包再用 find 按时间清理。
七、三个常见坑
第一,tar 默认会去掉路径开头的斜杠,解压不会覆盖系统目录,这是保护机制。第二,备份脚本要用绝对路径写文件位置,相对路径在 cron 里很容易跑偏。第三,压缩包传到另一台机器后校验一下 md5sum,确认文件没有在传输中损坏。
tar 加 gzip 看似基础,却是运维工作的底座。把打包、查看、解压、排除这四组命令练熟,再配上定时任务,一套可靠的备份流程就成型了。
- 点赞
- 收藏
- 关注作者
评论(0)