如何使用tar命令备份/home目录?
美国、香港服务器
如何使用tar命令备份/home目录?
05-29 来源:
一、核心备份命令(推荐)
1. 标准压缩备份(gzip,平衡速度与压缩率)
bash
运行
# 备份 /home 到 /root 目录,文件名自动带日期
tar -zcvf /root/home_backup_$(date +%Y%m%d_%H%M%S).tar.gz /home
-z:使用 gzip 压缩(速度快,兼容性好)
-c:创建新的备份包
-v:显示备份过程(可选,方便查看进度)
-f:指定备份包文件名
$(date +%Y%m%d_%H%M%S):自动加上当前时间戳,避免覆盖旧备份
2. 高压缩率备份(xz,省空间,速度稍慢)
适合数据量大、目标空间紧张的场景:
bash
运行
tar -Jcvf /root/home_backup_$(date +%Y%m%d).tar.xz /home
二、备份关键参数与技巧
1. 排除不需要备份的目录 / 文件
如果 /home 里有缓存、临时文件,可加 --exclude 排除:
bash
运行
# 排除所有 .cache 目录和 tmp 文件
tar -zcvf /root/home_backup_$(date +%Y%m%d).tar.gz \
--exclude="*/.cache/*" \
--exclude="*/tmp/*" \
/home
2. 备份到其他磁盘(强烈推荐,避免备份和原数据在同一盘)
比如备份到你另一块硬盘的 /data 目录:
bash
运行
# 先创建目标目录
mkdir -p /data/backup
# 备份到 /data/backup
tar -zcvf /data/backup/home_backup_$(date +%Y%m%d).tar.gz /home
三、验证备份完整性(必做!)
备份完成后,必须检查备份包是否损坏、文件是否完整:
bash
运行
# 查看备份包内的文件列表(不实际解压)
tar -ztvf /root/home_backup_20260529.tar.gz
能正常列出文件,说明备份包完整
若报错 gzip: stdin: unexpected end of file,说明备份中途中断或文件损坏
四、恢复备份(两种场景)
1. 恢复到原位置(覆盖现有文件,谨慎操作)
bash
运行
# 恢复 /home 目录(需要 root 权限)
tar -xzvf /root/home_backup_20260529.tar.gz -C /
-x:解压模式
-C /:指定解压根目录(/home 会直接还原到 /home)
2. 恢复到临时目录(测试用,不影响原数据)
bash
运行
# 创建临时目录
mkdir -p /tmp/home_test
# 解压到临时目录
tar -xzvf /root/home_backup_20260529.tar.gz -C /tmp/home_test
# 检查文件是否正常
ls /tmp/home_test/home/
五、重要注意事项
避免备份时写入:备份过程中尽量不要让用户往 /home 写入数据,否则可能导致备份文件不完整。可临时停止网站、数据库等服务。
目标盘空间足够:先检查 /home 大小和目标盘剩余空间:
bash
运行
du -sh /home # 查看原数据大小
df -h /root # 查看目标盘剩余空间
三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快