Chinaunix首页 | 论坛 | 博客
  • 博客访问: 151870
  • 博文数量: 54
  • 博客积分: 1732
  • 博客等级: 上尉
  • 技术积分: 520
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-23 23:29
文章分类

全部博文(54)

文章存档

2011年(3)

2010年(26)

2009年(25)

分类: LINUX

2010-03-18 20:06:13

众所周知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

阅读(1179) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~