ubuntu系统备份

众所周知ubuntu系统升级时经常导致系统崩溃,为了以防万一,做好系统备份工作是必须的。俺这次休假归来升级了一下系 统,屏幕就花了,捣腾了一下午,始终无法修复,将/boot/grub/grub.cfg改来改去,试图恢复成之前的内核,愣是没搞定,到最后进入系统运 行uname -i竟然提示unknown,无奈之下只好重装系统。

闲话少述,体验了一把才知道,linux下备份系统那真是相当简单,首先看一下我的磁盘分区结构:
$ df -h
文件系统            容量  已用  可用 已用% 挂载点
/dev/sda6             5.0G  433M  4.3G  10% /
udev                  995M  380K  994M   1% /dev
none                  995M   12K  995M   1% /dev/shm
none                  995M   84K  994M   1% /var/run
none                  995M     0  995M   0% /var/lock
none                  995M     0  995M   0% /lib/init/rw
/dev/sda1             198M   37M  151M  20% /boot
/dev/sda3              15G  2.7G   12G  20% /usr
/dev/sda5             7.4G  856M  6.2G  12% /var
/dev/sda7             5.0G  139M  4.6G   3% /tmp
/dev/sda8             113G   80G   28G  75% /home
/dev/sdb4              63G  4.7G   55G   8% /media/sys_bak
由上面的运行结果可知,我的系统共由四个分区需要备份,即:/ /boot /usr /var,另外的几个分区中,/home可以备份,/media/sys_bak是我的移动硬盘,其他不用管了

以下分别为备份上述四个分区的指令
tar -cvpzf /media/sys_bak/laptop_sys/boot.tar.gz /boot
tar -cvpzf /media/sys_bak/laptop_sys/root.tar.gz --exclude=/media --exclude=/home --exclude=/usr --exclude=/var --exclude=/tmp --exclude=/boot --exclude=/mnt --exclude=/proc -exclude=/lost+found /
tar -cvpzf /media/sys_bak/laptop_sys/usr.tar.gz /usr
tar -cvpzf /media/sys_bak/laptop_sys/var.tar.gz /var
以第二条指令为例,解释如下:
tar是用来备份的指令名
c 新建一个备份文件
v 详细模式,将tar运行时的输出到屏幕
p 保存许可,并应用到所有文件
z 采用'gzip' 压缩备份文件,如果需要采用'bzip2' 格式压缩,则可以用j
f 说明备份文件的存放位置
/media/sys_bak/laptop_sys/root.tar.gz 即为备份文件的存放位置,位于移动硬盘
--exclude=xxx选项指示不需要备份的子目录,其中/media, /mnt下面主要用于挂载其他存储介质,这里必需要用--exclude 排出,以仿制无穷递归备份,其他几个为单独的分区。注意目录名后面不要加/,比如/media不能写成/media/

如果愿意,当然可以把上述四条指令写到一个文件里执行。


以下为还原指令
tar -xf /media/sys_bak/laptop_sys/boot.tar.gz -C /boot
以上-C参数指定tar程序解压缩到的目录,在本例中是/boot

你可能感兴趣的:(ubuntu系统备份)