如何在Linux中进行系统备份和恢复?代码举例讲解

在Linux中,可以通过以下几种方式进行系统备份和恢复:

  1. 备份工具:
  • tar:打包压缩工具。用于文件系统备份。
  • cpio:拷贝文件工具。用于文件系统备份。
  • dd:原始设备备份工具。用于磁盘分区备份。
  • rsync:增量备份工具。用于文件/文件系统备份。
    例如:
# 使用tar备份/etc目录  
tar -cvpzf /tmp/etc.tar.gz /etc  

# 使用cpio备份/home目录 
cpio -ovcB /tmp/home.cpio /home  

# 使用dd备份/dev/sda1  
dd if=/dev/sda1 of=/tmp/sda1.bak   

# 使用rsync备份/home目录 
rsync -av /home /tmp/home_bak  
  1. 系统还原:
  • 使用备份文件还原:
# 还原tar备份  
tar -xpvf /tmp/etc.tar.gz 

# 还原cpio备份
cpio -ivcB < /tmp/home.cpio  

# 还原dd备份
dd if=/tmp/sda1.bak of=/dev/sda1  

# 还原rsync备份
rsync -av /tmp/home_bak/ /home 
  • 使用光盘等介质还原系统:
    1) 引导进入系统恢复模式。
    2) 选择”修复已安装的系统”选项。
    3) 选择root分区并按”Enter”键。
    4) 输入”root”和回车以获取root权限。
    5) 输入”exit”并按回车键继续。
    6) 选择”修复命令提示符下的终端”选项。
    7) 恢复备份文件系统。例如:cp /mnt/sda1.bak /dev/sda1
    8) 重启系统。
  1. 设置系统自动快照:
  • 使用LVM快照功能:
# 创建快照卷
lvcreate -L 5G -s -n home_snap /dev/vg0/home

# 恢复快照
lvconvert --merge /dev/vg0/home_snap
  • 使用btrfs快照功能:
# 创建快照
btrfs subvolume snapshot /home /home_snap

# 恢复快照
btrfs subvolume rollback /home /home_snap