备份、恢复与迁移

备份 Linux 系统,推荐使用 tar。使用 archlinux-2008.06-core-i686 光盘启动系统[79],登录“作业平台”后,首先挂载文件系统

[注意]注意
备份、恢复、迁移等过程,都要先进行这一步
  1. #首先将两个工作目录定义为环境变量,这样条理更清晰
  2. export FROM="/mnt/from" #定义变量 FROM,待备份的文件系统挂载于此
  3. export TO="/mnt/to" #定义变量 TO,备份文件存放路径
  4. mkdir -p $FROM $TO #创建工作目录
  5. #假设待备份的系统位于 /dev/sda1 分区
  6. mount /dev/sda1 $FROM
  7. #如果将系统中的目录挂载到其它分区,例如将 /boot 挂载于 /dev/sda2 ,还要继续挂载此目录
  8. mkdir $FROM/boot
  9. mount /dev/sda2 $FROM/boot
  10. mkdir $FROM/home
  11. mount /dev/sda3 $FROM/home
  12. ……
  13. #假设将备份文件存放于 /dev/sda5 分区
  14. mount /dev/sda5 $TO

使用 tar(参见“压缩解压”一节) 命令备份:

  1. cd $FROM
  2. tar -zcvf $TO/backup.tgz \
  3. --exclude=backup.tgz \
  4. --exclude=mnt/* \
  5. --exclude=proc/* \
  6. --exclude=sys/* \
  7. *

系统更新后,可以使用以下命令,在原来备份的基础上进行差异备份

  1. #查找最近改动的文件,生成文件列表
  2. find $FROM -mtime -1 -print> filelist
  3. #根据文件列表进行差异备份
  4. tar -zcv -T filelist -f $TO/backup.tgz

恢复时,使用以下命令

  1. tar zxvpf $TO/backup.tgz -C $FROM

在某一硬件架构中,Linux 中大部分文件与硬件无关。所以,将备份的系统迁移到其它机器上[80],是可行的

恢复后,有三个文件需要重新编辑:/boot/grum/menu.lst/etc/fstab/etc/X11/xorg.conf

使用 blkid,输出磁盘设备的 UUID,根据实际情况编辑这两个文件

  1. blkid >> /etc/fstab
  2. blkid >> /boot/grub/menu.lst

使用 grub 命令安装引导器,参见“Grub 安装”一节


[79] 也可以使用其它 LiveCD

[80] 例如将虚拟机中安装的 Linux 系统迁移到真实机器上