tar 与 gzip 压缩归档实战:备份、打包与解压一次讲清

举报
yd_282444815 发表于 2026/11/13 09:10:49 2026/11/13
【摘要】 在 Linux 服务器上做备份,图形工具往往指望不上,tar 加 gzip 几乎是每台机器都自带的标准组合。学会它们,日常打包代码、备份配置、迁移数据都能一两条命令搞定。 一、tar 与 gzip 各管什么tar 负责把多个文件和目录打包成一个文件,本身不压缩;gzip 负责把单个文件压小。两者组合成 .tar.gz,既保留了目录结构,又省了磁盘空间。解包时顺序正好反过来:先由 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 看似基础,却是运维工作的底座。把打包、查看、解压、排除这四组命令练熟,再配上定时任务,一套可靠的备份流程就成型了。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。