tar可以打包,也可以直接把文件夹打包到你想要的任何地方。可以打包整个目录树。
打包的归档文件可以全部还原,或从中展开单独的文件和目录。备份可以保存磁盘或磁带上,文件可以在还原时重定向,以便将他们重
新放到一个与最初保存他们的目录(或系统)不同的目录。tar与文件系统无关的,可以使用在ext2,ext3,jfs,Reiser和其他文件系
统上。
tar命令格式:
tar 参数 <要备份或要恢复的文件或目录名>
参数:
-f name [使用name指定存档文件名或设备名]
-v [列出处理的详细信息]
-c [用于创建一个新的存档文件]
-x [从归档文件中恢复备份文件]
-t [用于列出一个存档文件中的文件名]
-z [用于GNU的gzip压缩文件或解压]
-Z [用compress压缩文件或解压]
-j [用bzip2压缩文件或解压]
-r [用于将文件附加于已存在的存档文件的后边。例如用户已经做好备份文件,又发现还有一个目录或是一些文件忘记
备份,这是可以使用此选项,将忘记的目录或文件追加到备份中]
-u [仅仅添加比存档文件中更新的文件。即,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把
它追加到备份文件的最后]
-C directory[将当前目录钱换到directory]
-d [将归档文件的内容与系统上的当前文件做比较]
-M [创建/列出/恢复多卷存档文件,以便在几个备份介质中存放]
-N DATE [指定仅对那些比DATE新的文件进行操作]
-p [保留文件许可权限]
-P [保留文件的绝对路径,即不去掉/]
-w [要求等待用户确认每一个操作]
-W [表示写入备份内容到备份设备以后,再读出来进行验证以提高可靠性]
-T 文件名 [从指定的文件中读需要备份或恢复的文件名]
-X 文件名 [不处理给定文件中列出的文件]
例如:
<备份>
#tar -cWMf /dev/fd0 /usr/local [跨越多张软盘备份系统/usr/local下的所有内容,同时进行写入校验]
#tar -cf /dev/ftape -N yesterday /home [备份/home目录下自昨天以后被修改的所有文件到软磁带设备/dev/st0]
#tar -cvf /dev/st0 -N 07/05/2006 [备份目录下自07/05/2006修改过的文件到磁带设备/dev/st0]
#tar -cpf /dev/st0 / -x=/proc [保持文件权限备份/目录(不包括/proc)到磁带设备/dev/st0]
<恢复>
#tar -xpf /dev/st0 -C / [恢复备份到“/”下]
#tar -xpf /dev/st0 etc/passwd [从备份文件恢复制定的文件etc/passwd]
<完全备份和增量备份>
#tar -zcvf /backup/tomorrowfull.tar.gz / [先做一个完全备份]
#find / -mtime -5 -print > /tmp/filelist [找出5天内修改过的文件]
#tar -c -T /tmp/filelist -f /backup/tomorrowadd.tar.gz [每隔5天做增量备份]
注意:关于备份内容文件列表:上面的/tmp/filelist是一个要备份内容的文件列表,除了使用find命令生成文件列表外,还可以直接编辑文件列表,但要知道的是,该文件列表不能使用通配符。