备份Windows系统需要用Ghost,备份linux显然要简单的多,用tar命令就可以搞定。
用tar备份的特点:
1、保留权限
2、适合备份整个目录
3、可以选择不同的压缩方式
4、如果选择不压缩还能实现增量备份,部份还原,参考man tar
命令格式:
tar [-cxtzjvfpPN] 压缩文档的名称 欲备份目录
参数:
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
注意:在参数中,c/x/t 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
-p :使用原文件的原来属性(属性不会依据使用者而变)
-P :(大写)可以使用绝对路径来压缩!
-N :(大写)比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!
-C:(大写)目的目录,即切换到指定的目录
--exclude FILE:在压缩的过程中,不要将 FILE 打包!
例一:linux下备份自身系统
1.备份
用root权限,运行完整的备份命令:
$ sudo su
# tar -cvpzf /media/disk/backup.tgz / --exclude=/proc --exclude=/lost+found --exclude=/tmp --exclude=/sys --exclude=/media --exclude=/home
接着,让我们稍微解释一下:
* '-cvpzf'是我们给tar加的选项。
* /media/disk/backup.tgz是压缩包的存放路径与名称。
* ‘/'是我们想要备份的目录,我们想要备份根目录下的所有的东西,所以使用 / 作为根目录。
* '--exclude'就是我们要剔除的目录了。
有些目录是不需要备份的。如:/proc目录、 /tmp目录、/sys目录,里面都是临时文件,备份容易出错,/home目录备份容易引起"tar: 由于前面延迟的错误而退出"的提示。 同时确保你没有任何东西挂载在/mnt、/media目录内,否则,会把被挂载的分区也备份在内,备份文件会很大。还要注意不要把备份文件本身也备份进去了,也需要剔除。
备份结束以后,在你的/media/disk目录下有一个backup.tgz ,这就是你的备份文件。
2.恢复备份
慎用,将会把你目标路径下的所有同名文件替换成压缩文档里的文件,目标路径下多出的目录与文件并不会必删除。
sudo tar -xvpzf backup.tgz -C /
注:参数x是告诉tar程序解压缩备份文件。 -C 参数是指定tar程序解压缩到的目录。
恢复完了以后,再手工建立如下一些目录:
mkdir proc
mkdir lost+found
mkdir sys
mkdir tmp
mkdir media
重启
例二:linux下备份另一个linux系统
1.备份
用root权限,运行完整的备份命令:
$ sudo su
# tar -cvpzf /media/disk-1/backup.tgz -C /media/disk .
注解:
备份文件的存放路径与名称为/media/disk-1/backup.tgz
只备份/meda/disk目录内的内容,不含/media/disk路径。
-C是临时切换工作目录,这样就不把/media/disk路径备份在压缩包里了。
备份时没有剔除任何目录,因为另一个linux没有运行,里面没有临时文件。
注意-C /media/disk的后面是空格加英文点。
2.还原:
建议先清空目标路径下的除/boot目录外的所有文件,再还原备份,命令如下:
rm -fv 目录名
还原/media/disk-1/backup.tgz压缩包到/media/disk目录下。
$ sudo su
# tar -xvpzf /media/disk-1/backup.tgz -C /media/disk
或:
# cd /media/disk
# tar -xvpzf /media/disk-1/backup.tgz
原文地址:http://hi.baidu.com/madconnon/item/666f2bf6bf9d9ad242c36a81
利用tar备份linux系统详解
最新推荐文章于 2024-10-01 16:00:00 发布