备份、恢复与迁移

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

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

 

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

cd $FROM
tar -zcvf $TO/backup.tgz         \
        --exclude=backup.tgz     \
        --exclude=mnt/*          \
        --exclude=proc/*         \
        --exclude=sys/*          \
    *

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

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

 

恢复时,使用以下命令

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

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

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

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

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

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



[79] 也可以使用其它 LiveCD

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