当前位置:首页>Linux>Linux 运维命令 16 | 备份与压缩

Linux 运维命令 16 | 备份与压缩

  • 2026-10-10 23:09:55
Linux 运维命令 16 | 备份与压缩
Linux 运维命令 Top 1000 系列

tar 打包压缩

tar -czf archive.tar.gz dir/   # gzip压缩打包tar -cjf archive.tar.bz2 dir/  # bzip2压缩tar -cJf archive.tar.xz dir/   # xz压缩tar -czf archive.tar.gz --exclude='*.log' dir/  # 排除文件tar -czf archive.tar.gz --exclude='.git' dir/   # 排除目录tar -czf - dir/ | ssh user@host "cat > archive.tar.gz"  # 远程备份tar -xzf archive.tar.gz         # 解压tar -xzf archive.tar.gz -C /path/  # 解压到指定目录tar -tzf archive.tar.gz        # 查看压缩包内容tar -xzf archive.tar.gz file  # 解压单个文件

常用压缩格式对比:

格式
压缩率
速度
命令
gzip
中
快
.tar.gz
bzip2
较高
较慢
.tar.bz2
xz
最高
慢
.tar.xz

zip/unzip

zip -r archive.zip dir/        # 压缩zip archive.zip file1 file2    # 压缩多个文件zip -r archive.zip dir/ -x "*.log"  # 排除文件unzip archive.zip              # 解压unzip -l archive.zip           # 查看内容unzip archive.zip -d /path/    # 解压到指定目录unzip -o archive.zip           # 覆盖解压

其他压缩工具

gzip file                      # gzip压缩gunzip file.gz                 # 解压bzip2 file                     # bzip2压缩bunzip2 file.bz2              # 解压xz file                       # xz压缩unxz file.xz                  # 解压7z a archive.7z dir/          # 7zip压缩7z x archive.7z               # 解压7zip

rsync 增量备份

rsync -avz src/ dst/               # 本地备份rsync -avz --delete src/ dst/      # 完全同步(删除多余)rsync -avz --backup --backup-dir=/backup/old/ src/ dst/  # 备份模式rsync -avz --link-dest=/backup/prev/ src/ dst/  # 增量备份rsync -avz -e "ssh -p 2222" src/ user@host:/dst/  # 通过SSH

dd 磁盘镜像

dd if=/dev/sda of=/backup/sda.img bs=4M  # 磁盘镜像dd if=/backup/sda.img of=/dev/sda bs=4M  # 恢复镜像dd if=/dev/sda | gzip > /backup/sda.img.gz  # 压缩镜像gzip -dc /backup/sda.img.gz | dd of=/dev/sda bs=4M  # 解压恢复dd if=/dev/zero of=test bs=1M count=1000 oflag=direct  # 测试写速度

定时备份脚本模板

#!/bin/bashBACKUP_DIR="/backup"DATE=$(date +%Y%m%d_%H%M%S)DB_NAME="mydb"DB_USER="root"DB_PASS="password"# MySQL备份mysqldump -u$DB_USER -p$DB_PASS $DB_NAME | gzip > $BACKUP_DIR/${DB_NAME}_${DATE}.sql.gz# 文件备份tar -czf $BACKUP_DIR/app_${DATE}.tar.gz /var/www/app/# 保留最近30天find $BACKUP_DIR -name "*.gz" -mtime +30 -delete

上一篇:性能分析下一篇:Shell脚本常用语法


你的三连,是我更新的动力!

最新文章

随机文章