插件窝 干货文章 常用的Linux 系统备份、恢复命令

常用的Linux 系统备份、恢复命令

备份 backup 恢复 tar 983    来源:    2025-04-13

Linux 系统备份与恢复命令指南

作为IT工程师,以下是我整理的Linux系统常用备份与恢复命令,涵盖文件级和系统级备份方案:

1. 文件级备份命令

tar (磁带归档)

# 创建备份 (gzip压缩)
tar -czvf backup.tar.gz /path/to/backup

# 创建备份 (xz压缩,更高压缩率)
tar -cJvf backup.tar.xz /path/to/backup

# 列出备份内容
tar -tzvf backup.tar.gz

# 恢复备份
tar -xzvf backup.tar.gz -C /restore/path

rsync (增量备份)

# 本地备份
rsync -avzh /source/path /destination/path

# 远程备份 (SSH)
rsync -avzhe ssh /source/path user@remote:/destination/path

# 恢复
rsync -avzh /backup/path /restore/path

dd (块级备份)

# 备份整个磁盘/分区
dd if=/dev/sda of=/backup/sda.img bs=4M status=progress

# 恢复磁盘/分区
dd if=/backup/sda.img of=/dev/sda bs=4M status=progress

# 压缩备份
dd if=/dev/sda | gzip > /backup/sda.img.gz

2. 系统级备份方案

Timeshift (基于rsync/BTRFS)

# 安装 (Ubuntu/Debian)
sudo apt install timeshift

# 创建快照 (GUI推荐)
sudo timeshift --create --comments "Pre-update snapshot"

Deja Dup (GNOME桌面备份工具)

# 安装
sudo apt install deja-dup

# 图形界面操作更简单

3. 数据库备份

MySQL/MariaDB

# 备份单个数据库
mysqldump -u username -p database_name > backup.sql

# 备份所有数据库
mysqldump -u username -p --all-databases > all_backup.sql

# 恢复
mysql -u username -p database_name < backup.sql

PostgreSQL

# 备份单个数据库
pg_dump -U username -d dbname -f backup.sql

# 备份所有数据库
pg_dumpall -U username > all_backup.sql

# 恢复
psql -U username -d dbname -f backup.sql

4. 自动化备份脚本示例

#!/bin/bash
# 定义变量
BACKUP_DIR="/backups"
DATE=$(date +%Y%m%d)
LOG_FILE="/var/log/backup_$DATE.log"

# 创建备份目录
mkdir -p $BACKUP_DIR/$DATE

# 备份重要目录
tar -czvf $BACKUP_DIR/$DATE/system_etc.tar.gz /etc >> $LOG_FILE 2>&1
tar -czvf $BACKUP_DIR/$DATE/home.tar.gz /home >> $LOG_FILE 2>&1

# MySQL备份
mysqldump -u root -p'password' --all-databases > $BACKUP_DIR/$DATE/mysql_all.sql 2>> $LOG_FILE

# 保留最近7天备份
find $BACKUP_DIR -type d -mtime +7 -exec rm -rf {} \;

5. 恢复注意事项

  1. 测试恢复:定期验证备份的可恢复性
  2. 备份验证:使用md5sumsha256sum检查备份完整性
  3. 异地备份:至少保留一份异地备份
  4. 加密敏感数据:对包含敏感信息的备份进行加密

6. 高级工具推荐

  • BorgBackup:去重加密备份工具
  • Restic:现代备份工具,支持多种存储后端
  • Duplicity:加密的增量备份工具
  • Bareos:企业级备份解决方案

选择哪种备份方法取决于您的具体需求,包括备份频率、数据量大小、恢复时间目标(RTO)和数据恢复点目标(RPO)等因素。