备份、恢复与迁移
备份 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 系统迁移到真实机器上