用于备份的Tar
备份工具Tar是以前备份文件的可靠方法,几乎可以工作于任何环境中,Linux老用户一般都信赖它。 Linux中以.tar结尾的文件都是用tar创建的。它的使用超出了单纯的备份,可用来把许多不同文件放到一起组成一个易于分开的文件。tar是从Tape ARchiver备份工具起步的。包含在Linux中的GNU tar工具简便易用,包含了一个用来压缩的选项,且支持不断增加的备份。tar是一个命令行的工具,没有图形界面。使用Konsole或Kvt打开一个终端窗口,接下来是一个简单的备份命令:
$tar cvf - /home > /temp/backup.tar
|
这个命令在/tmp目录中创建一个backup.tar的文件,/home目录中所有内容都包含在其中。接下来可以把tar文件拷贝到备份磁盘中。使用简单备份时,如果要使用压缩功能,改为下面命令:
$tar czvf - /home > /tmp/backup.tgz
|
上面扩展名. tgz指出这是一个压缩文件。下一个例子可以用来直接备份到一个安装好的Jaz驱动器中,但这样做要确定有足够的空间:
$tar czvf /mnt/jaz/backup.tgz - /home
|
对于一个磁带驱动器,使用设备名称:
$tar czvf /dev/st0/backup.tgz - /home
|
如果有一个备份非常大,可以使用多卷选项。但是,这样做就不能使用压缩。当第一个磁盘或磁带填满后,tar将提示插入另一张:
$tar cvMf /dev/st0/5mar2000.tar -home
|
要恢复备份使用下面的命令,以Jaz磁盘为例:
$tar xzvf /mnt/jaz/5mar2000.tgz /home
|
表1列出了tar主要功能参数。此外还有很多可选参数,本文不再详述。
表1备份工具tar可以用crontab工具设置成基于时间的有规律地运行。例如,每晚2点把/home目录备份到SCSI磁带驱动器中,只要将下面语句添加到root的crontab中即可:
00 02 * * * tar cvf /dev/st0/homefiles.tar - /home
|
用于备份的Cpio
GNU cpio工具像tar一样从命令提示行启动程序。与tar相比cpio更复杂,但是也更为可靠。因为如果一个tar文件中某处有一个坏块,就不能对备份文件的其它部分进行访问,而使用cpio,只有坏块不能被访问。cpio创建一个称为copy-out mode的备份,备份存档中包含了文件和所有者、时间及访问许可等信息。cpio需要一个假定要备份的文件列表。创建列表的一个最方便的方法就是使用ls命令。例如,要把/home目录备份到SCSI磁带设备中,输入下面的命令:
$ls /home | cpio -o > /dev/st0
|
也可以使用find命令。它包括许多选项可以用来消减被存档文件的数量。例如,下面的命令对所有在上一个2 4小时内修改过的文件进行存档:
$find /home -mtime 1 -type f -print | cpio -o > /dev/st0
|
copy - in模式把文件从备份存档中解出来。下面的命令会恢复前两个备份例子中的所有文件:
你也可以对cpio的备份进行计划,用crontab工具设置成基于任何时间的有规律地运行。例如,要在每晚2点把/ home目录备份到SCSI磁带驱动器中,把下面的语句添加到root的crontab文件中即可:
00 02 * * * ls /home | cpio -o > /dev/st0
|