next up previous contents index
Next: Restoring files with tar Up: Simple backups Previous: Simple backups

 

tar备份

一个全备份可以很容易地用tar 实现:

# tar -create -file /dev/ftape /usr/src
tar: Removing leading / from absolute path names in the archive
#
上面的例子使用GNU版本的tar 及其长选项名。 传统版本的tar 只理解单字符选项。 GNU版还能处理一盘磁带或一张磁盘不能容纳的备份,及很长的路径名;这不是所有传统的版本能作到的。 (Linux只使用GNU tar 。)

如果你的备份一盘磁带不能容纳,你需要使用-multi-volume (-M)选项:

# tar -cMf /dev/fd0H1440 /usr/src
tar: Removing leading / from absolute path names in the archive
Prepare volume #2 for /dev/fd0H1440 and hit return:
#
注意开始备份前要格式化所有软盘,或在tar 需要新软盘时用另一个虚拟控制台或虚拟终端格式化它。

备份完后,应该检查它是否完好,用-compare (-d)选项:

# tar -compare -verbose -f /dev/ftape
usr/src/
usr/src/linux
usr/src/linux-1.2.10-includes/
....
#
失败的备份检查意味着如果你丢失了原始数据,备份也无法恢复。

增量备份可用带-newer (-N)选项的tar 来实现:

# tar -create -newer '8 Sep 1995' -file /dev/ftape /usr/src -verbose
tar: Removing leading / from absolute path names in the archive
usr/src/
usr/src/linux-1.2.10-includes/
usr/src/linux-1.2.10-includes/include/
usr/src/linux-1.2.10-includes/include/linux/
usr/src/linux-1.2.10-includes/include/linux/modules/
usr/src/linux-1.2.10-includes/include/asm-generic/
usr/src/linux-1.2.10-includes/include/asm-i386/
usr/src/linux-1.2.10-includes/include/asm-mips/
usr/src/linux-1.2.10-includes/include/asm-alpha/
usr/src/linux-1.2.10-includes/include/asm-m68k/
usr/src/linux-1.2.10-includes/include/asm-sparc/
usr/src/patch-1.2.11.gz
#
不幸的是,tar 不能知道一个文件的i节点信息变化,例如,文件的权限位变化,或文件名变化。 这可用find 命令和比较当前文件系统状态和先前备份的文件列表。 用于此的Scripts和程序可以在Linux FTP站点上找到。


next up previous contents index
Next: Restoring files with tar Up: Simple backups Previous: Simple backups

Lars Wirzenius
Sun Jun 29 13:31:22 EEST 1997