插件窝 干货文章 如何使用Linux进行备份和恢复

如何使用Linux进行备份和恢复

备份 backup bash exclude 751    来源:    2025-04-13

Linux备份与恢复指南

常用备份工具

1. tar (磁带归档工具)

  • 创建备份:

    tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --exclude=/proc --exclude=/lost+found --exclude=/sys --exclude=/mnt --exclude=/media --exclude=/run /
    
    • -c: 创建新归档
    • -v: 显示详细输出
    • -p: 保留权限
    • -z: 使用gzip压缩
    • -f: 指定文件名
    • --exclude: 排除不需要备份的目录
  • 恢复备份:

    tar -xvpzf backup.tar.gz -C /
    

2. rsync (远程同步工具)

  • 本地备份:

    rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /path/to/backup
    
  • 远程备份:

    rsync -aAXv -e ssh /path/to/local user@remote:/path/to/backup
    

3. dd (磁盘拷贝工具)

  • 创建磁盘映像:

    dd if=/dev/sda of=/path/to/backup.img bs=4M status=progress
    
  • 恢复磁盘映像:

    dd if=/path/to/backup.img of=/dev/sda bs=4M status=progress
    

增量备份方案

使用rsnapshot

  1. 安装:

    sudo apt install rsnapshot  # Debian/Ubuntu
    sudo yum install rsnapshot  # RHEL/CentOS
    
  2. 配置:

    sudo nano /etc/rsnapshot.conf
    

    修改关键参数:

    snapshot_root   /path/to/backups/
    retain  hourly  6
    retain  daily   7
    retain  weekly  4
    retain  monthly 3
    
  3. 运行备份:

    rsnapshot hourly
    

自动化备份

使用cron定时任务

  1. 编辑crontab:

    crontab -e
    
  2. 添加定时任务(例如每天凌晨2点备份):

    0 2 * * * /path/to/backup_script.sh
    

恢复策略

文件级恢复

tar -xvpzf backup.tar.gz -C /path/to/restore --strip-components=N

全系统恢复

  1. 从Live CD/USB启动
  2. 挂载原系统分区
  3. 执行恢复命令

最佳实践

  1. 3-2-1备份规则:

    • 3份数据副本
    • 2种不同介质
    • 1份异地备份
  2. 定期验证备份:

    tar -tzf backup.tar.gz  # 检查tar备份内容
    
  3. 加密敏感备份:

    tar -cvpz /path/to/backup | openssl enc -aes-256-cbc -out backup.tar.gz.enc
    
  4. 日志记录:

    tar -cvpzf backup.tar.gz / > backup.log 2>&1
    

云备份选项

使用rclone

  1. 配置云存储:

    rclone config
    
  2. 同步到云:

    rclone sync /path/to/local remote:path/to/backup
    

根据您的具体需求选择合适的备份策略和工具组合。对于关键系统,建议结合多种备份方法以确保数据安全。