tar命令在备份数据时如果使用绝对路径备份只能恢复到原备份绝对路径的位置。如果使用相对路径进行备份可以恢复到任何想要恢复的目录下,不过恢复到该目录下的内容是在该目录下生成整个备份时的全部相对路径。
例如:
tar文件中的内容如下:
zjapp01#[/usr/local/appbackup]tar tvf tmp.tar
rwxr-xr-x 0/3 0 Apr 23 15:22 2009 ./tmp/
rw-r--r-- 0/3 1409805 Apr 23 15:22 2009 ./tmp/cwyy-ufida-200904230010.tar.log
rw-r--r-- 0/3 1063444480 Apr 23 15:23 2009 ./tmp/cwyy-ufida-200904230010.tar
rwxr-xr-x 0/3 0 Apr 23 15:38 2009 tmp/
rw-r--r-- 0/3 1063444480 Apr 23 15:38 2009 tmp/cwyy-ufida-200904230010.tar
rw-r--r-- 0/3 1409805 Apr 23 15:38 2009 tmp/cwyy-ufida-200904230010.tar.log
rwxr-xr-x 0/3 0 Apr 23 15:38 2009 ./tmp/
rw-r--r-- 0/3 1063444480 Apr 23 15:38 2009 ./tmp/cwyy-ufida-200904230010.tar
rw-r--r-- 0/3 1409805 Apr 23 15:38 2009 ./tmp/cwyy-ufida-200904230010.tar.log
rwxr-xr-x 0/3 0 Apr 23 15:50 2009 ./tmp/
rw-r--r-- 0/3 0 Apr 23 15:50 2009 ./tmp/cwyy-ufida-200904230010.tar.log
zjapp01#[/usr/local/appbackup]cd tmp
zjapp01#[/usr/local/appbackup/tmp]ls
当前目录下为空;
zjapp01#[/usr/local/appbackup/tmp]tar xvf ../tmp.tar tmp/cwyy-ufida-200904230010.tar.log
x tmp/cwyy-ufida-200904230010.tar.log, 1409805 bytes, 2754 tape blocks
解压tar文件中内容;
zjapp01#[/usr/local/appbackup/tmp]ls
tmp
zjapp01#[/usr/local/appbackup/tmp]ll tmp
total 2768
-rw-r--r-- 1 root sys 1409805 Apr 23 15:38 cwyy-ufida-200904230010.tar.log
在当前目录下生成了相对路径的内容。
tar一个绝对路径的文件:
zjapp01#[/usr/local/appbackup]tar rvf tmp.tar /usr/local/appbackup/tmp/cwyy-ufida-200904230010.tar.log
a /usr/local/appbackup/tmp/cwyy-ufida-200904230010.tar.log 2754 blocks
zjapp01#[/usr/local/appbackup]ls
sh tarfiles tmp tmp.old tmp.tar
zjapp01#[/usr/local/appbackup]tar tvf tmp.tar
rwxr-xr-x 0/3 0 Apr 23 15:22 2009 ./tmp/
rw-r--r-- 0/3 1409805 Apr 23 15:22 2009 ./tmp/cwyy-ufida-200904230010.tar.log
rw-r--r-- 0/3 1063444480 Apr 23 15:23 2009 ./tmp/cwyy-ufida-200904230010.tar
rwxr-xr-x 0/3 0 Apr 23 15:38 2009 tmp/
rw-r--r-- 0/3 1063444480 Apr 23 15:38 2009 tmp/cwyy-ufida-200904230010.tar
rw-r--r-- 0/3 1409805 Apr 23 15:38 2009 tmp/cwyy-ufida-200904230010.tar.log
rwxr-xr-x 0/3 0 Apr 23 15:38 2009 ./tmp/
rw-r--r-- 0/3 1063444480 Apr 23 15:38 2009 ./tmp/cwyy-ufida-200904230010.tar
rw-r--r-- 0/3 1409805 Apr 23 15:38 2009 ./tmp/cwyy-ufida-200904230010.tar.log
rwxr-xr-x 0/3 0 Apr 23 15:50 2009 ./tmp/
rw-r--r-- 0/3 0 Apr 23 15:50 2009 ./tmp/cwyy-ufida-200904230010.tar.log
rw-r--r-- 0/3 1409805 Apr 23 16:02 2009 /usr/local/appbackup/tmp/cwyy-ufida-200904230010.tar.log
释放绝对路径的文件,可以看到只能释放到绝对路径的位置,而不会在当前目录下创建目录;
zjapp01#[/usr/local/appbackup]ls
sh tarfiles tmp tmp.old tmp.tar
zjapp01#[/usr/local/appbackup]tar xvf tmp.tar /usr/local/appbackup/tmp/cwyy-ufida-200904230010.tar.log
x /usr/local/appbackup/tmp/cwyy-ufida-200904230010.tar.log, 1409805 bytes, 2754 tape blocks
zjapp01#[/usr/local/appbackup]ls
sh tarfiles tmp tmp.old tmp.tar
zjapp01#[/usr/local/appbackup]ll tmp
total 2768
-rw-r--r-- 1 root sys 1409805 Apr 23 16:02 cwyy-ufida-200904230010.tar.log
释放tar中的相同备份名称的文件时,释放的顺序是按照时间从最早到最晚的次序释放,就是说最晚的文件会覆盖之前的文件。
例如:
有3个同路径同名的备份文件:./tmp/cwyy-ufida-200904230010.tar.log
zjapp01#[/usr/local/appbackup]tar tvf tmp.tar
rwxr-xr-x 0/3 0 Apr 23 15:22 2009 ./tmp/
rw-r--r-- 0/3 1409805 Apr 23 15:22 2009 ./tmp/cwyy-ufida-200904230010.tar.log
rw-r--r-- 0/3 1063444480 Apr 23 15:23 2009 ./tmp/cwyy-ufida-200904230010.tar
rwxr-xr-x 0/3 0 Apr 23 15:38 2009 tmp/
rw-r--r-- 0/3 1063444480 Apr 23 15:38 2009 tmp/cwyy-ufida-200904230010.tar
rw-r--r-- 0/3 1409805 Apr 23 15:38 2009 tmp/cwyy-ufida-200904230010.tar.log
rwxr-xr-x 0/3 0 Apr 23 15:38 2009 ./tmp/
rw-r--r-- 0/3 1063444480 Apr 23 15:38 2009 ./tmp/cwyy-ufida-200904230010.tar
rw-r--r-- 0/3 1409805 Apr 23 15:38 2009 ./tmp/cwyy-ufida-200904230010.tar.log
rwxr-xr-x 0/3 0 Apr 23 15:50 2009 ./tmp/
rw-r--r-- 0/3 0 Apr 23 15:50 2009 ./tmp/cwyy-ufida-200904230010.tar.log
释放该文件,可以看到是按照时间从早到晚顺序依次释放,之前的文件被最后大小为0的文件覆盖。
zjapp01#[/usr/local/appbackup/tmp]tar xvf ../tmp.tar ./tmp/cwyy-ufida-200904230010.tar.log
x ./tmp/cwyy-ufida-200904230010.tar.log, 1409805 bytes, 2754 tape blocks
x ./tmp/cwyy-ufida-200904230010.tar.log, 1409805 bytes, 2754 tape blocks
x ./tmp/cwyy-ufida-200904230010.tar.log, 0 bytes, 0 tape blocks
zjapp01#[/usr/local/appbackup/tmp]ll
total 0
drwxr-xr-x 2 root sys 96 Apr 23 15:53 tmp
zjapp01#[/usr/local/appbackup/tmp]ll tmp
total 0
-rw-r--r-- 1 root sys 0 Apr 23 15:50 cwyy-ufida-200904230010.tar.log
使用tar xvf 时,要释放的文件参数必须和使用tar tvf命令看到的内容完全一样(每个字符都一样)
从下面例子可见,在tmp.tar文件中包含的内容 ./tmp/cwyy-ufida-200904230010.tar.log, tmp/cwyy-ufida-200904230010.tar.log,是相同的文件的相对路径备份,只是写相对路径时一个加了"./",一个没有加,这样在释放的时候使用不加“./”的字串“ tmp/cwyy-ufida-200904230010.tar.log“,可以看到只是释放了没有加"./"时备份的文件。
zjapp01#[/usr/local/appbackup/tmp]tar tvf ../tmp.tar
rwxr-xr-x 0/3 0 Apr 23 15:22 2009 ./tmp/
rw-r--r-- 0/3 1409805 Apr 23 15:22 2009 ./tmp/cwyy-ufida-200904230010.tar.log
rw-r--r-- 0/3 1063444480 Apr 23 15:23 2009 ./tmp/cwyy-ufida-200904230010.tar
rwxr-xr-x 0/3 0 Apr 23 15:38 2009 tmp/
rw-r--r-- 0/3 1063444480 Apr 23 15:38 2009 tmp/cwyy-ufida-200904230010.tar
rw-r--r-- 0/3 1409805 Apr 23 15:38 2009 tmp/cwyy-ufida-200904230010.tar.log
rwxr-xr-x 0/3 0 Apr 23 15:38 2009 ./tmp/
rw-r--r-- 0/3 1063444480 Apr 23 15:38 2009 ./tmp/cwyy-ufida-200904230010.tar
rw-r--r-- 0/3 1409805 Apr 23 15:38 2009 ./tmp/cwyy-ufida-200904230010.tar.log
rwxr-xr-x 0/3 0 Apr 23 15:50 2009 ./tmp/
rw-r--r-- 0/3 0 Apr 23 15:50 2009 ./tmp/cwyy-ufida-200904230010.tar.log
rw-r--r-- 0/3 1409805 Apr 23 16:02 2009 /usr/local/appbackup/tmp/cwyy-ufida-200904230010.tar.log
zjapp01#[/usr/local/appbackup/tmp]tar xvf ../tmp.tar tmp/cwyy-ufida-200904230010.tar.log
x tmp/cwyy-ufida-200904230010.tar.log, 1409805 bytes, 2754 tape blocks
例如:
tar文件中的内容如下:
zjapp01#[/usr/local/appbackup]tar tvf tmp.tar
rwxr-xr-x 0/3 0 Apr 23 15:22 2009 ./tmp/
rw-r--r-- 0/3 1409805 Apr 23 15:22 2009 ./tmp/cwyy-ufida-200904230010.tar.log
rw-r--r-- 0/3 1063444480 Apr 23 15:23 2009 ./tmp/cwyy-ufida-200904230010.tar
rwxr-xr-x 0/3 0 Apr 23 15:38 2009 tmp/
rw-r--r-- 0/3 1063444480 Apr 23 15:38 2009 tmp/cwyy-ufida-200904230010.tar
rw-r--r-- 0/3 1409805 Apr 23 15:38 2009 tmp/cwyy-ufida-200904230010.tar.log
rwxr-xr-x 0/3 0 Apr 23 15:38 2009 ./tmp/
rw-r--r-- 0/3 1063444480 Apr 23 15:38 2009 ./tmp/cwyy-ufida-200904230010.tar
rw-r--r-- 0/3 1409805 Apr 23 15:38 2009 ./tmp/cwyy-ufida-200904230010.tar.log
rwxr-xr-x 0/3 0 Apr 23 15:50 2009 ./tmp/
rw-r--r-- 0/3 0 Apr 23 15:50 2009 ./tmp/cwyy-ufida-200904230010.tar.log
zjapp01#[/usr/local/appbackup]cd tmp
zjapp01#[/usr/local/appbackup/tmp]ls
当前目录下为空;
zjapp01#[/usr/local/appbackup/tmp]tar xvf ../tmp.tar tmp/cwyy-ufida-200904230010.tar.log
x tmp/cwyy-ufida-200904230010.tar.log, 1409805 bytes, 2754 tape blocks
解压tar文件中内容;
zjapp01#[/usr/local/appbackup/tmp]ls
tmp
zjapp01#[/usr/local/appbackup/tmp]ll tmp
total 2768
-rw-r--r-- 1 root sys 1409805 Apr 23 15:38 cwyy-ufida-200904230010.tar.log
在当前目录下生成了相对路径的内容。
tar一个绝对路径的文件:
zjapp01#[/usr/local/appbackup]tar rvf tmp.tar /usr/local/appbackup/tmp/cwyy-ufida-200904230010.tar.log
a /usr/local/appbackup/tmp/cwyy-ufida-200904230010.tar.log 2754 blocks
zjapp01#[/usr/local/appbackup]ls
sh tarfiles tmp tmp.old tmp.tar
zjapp01#[/usr/local/appbackup]tar tvf tmp.tar
rwxr-xr-x 0/3 0 Apr 23 15:22 2009 ./tmp/
rw-r--r-- 0/3 1409805 Apr 23 15:22 2009 ./tmp/cwyy-ufida-200904230010.tar.log
rw-r--r-- 0/3 1063444480 Apr 23 15:23 2009 ./tmp/cwyy-ufida-200904230010.tar
rwxr-xr-x 0/3 0 Apr 23 15:38 2009 tmp/
rw-r--r-- 0/3 1063444480 Apr 23 15:38 2009 tmp/cwyy-ufida-200904230010.tar
rw-r--r-- 0/3 1409805 Apr 23 15:38 2009 tmp/cwyy-ufida-200904230010.tar.log
rwxr-xr-x 0/3 0 Apr 23 15:38 2009 ./tmp/
rw-r--r-- 0/3 1063444480 Apr 23 15:38 2009 ./tmp/cwyy-ufida-200904230010.tar
rw-r--r-- 0/3 1409805 Apr 23 15:38 2009 ./tmp/cwyy-ufida-200904230010.tar.log
rwxr-xr-x 0/3 0 Apr 23 15:50 2009 ./tmp/
rw-r--r-- 0/3 0 Apr 23 15:50 2009 ./tmp/cwyy-ufida-200904230010.tar.log
rw-r--r-- 0/3 1409805 Apr 23 16:02 2009 /usr/local/appbackup/tmp/cwyy-ufida-200904230010.tar.log
释放绝对路径的文件,可以看到只能释放到绝对路径的位置,而不会在当前目录下创建目录;
zjapp01#[/usr/local/appbackup]ls
sh tarfiles tmp tmp.old tmp.tar
zjapp01#[/usr/local/appbackup]tar xvf tmp.tar /usr/local/appbackup/tmp/cwyy-ufida-200904230010.tar.log
x /usr/local/appbackup/tmp/cwyy-ufida-200904230010.tar.log, 1409805 bytes, 2754 tape blocks
zjapp01#[/usr/local/appbackup]ls
sh tarfiles tmp tmp.old tmp.tar
zjapp01#[/usr/local/appbackup]ll tmp
total 2768
-rw-r--r-- 1 root sys 1409805 Apr 23 16:02 cwyy-ufida-200904230010.tar.log
释放tar中的相同备份名称的文件时,释放的顺序是按照时间从最早到最晚的次序释放,就是说最晚的文件会覆盖之前的文件。
例如:
有3个同路径同名的备份文件:./tmp/cwyy-ufida-200904230010.tar.log
zjapp01#[/usr/local/appbackup]tar tvf tmp.tar
rwxr-xr-x 0/3 0 Apr 23 15:22 2009 ./tmp/
rw-r--r-- 0/3 1409805 Apr 23 15:22 2009 ./tmp/cwyy-ufida-200904230010.tar.log
rw-r--r-- 0/3 1063444480 Apr 23 15:23 2009 ./tmp/cwyy-ufida-200904230010.tar
rwxr-xr-x 0/3 0 Apr 23 15:38 2009 tmp/
rw-r--r-- 0/3 1063444480 Apr 23 15:38 2009 tmp/cwyy-ufida-200904230010.tar
rw-r--r-- 0/3 1409805 Apr 23 15:38 2009 tmp/cwyy-ufida-200904230010.tar.log
rwxr-xr-x 0/3 0 Apr 23 15:38 2009 ./tmp/
rw-r--r-- 0/3 1063444480 Apr 23 15:38 2009 ./tmp/cwyy-ufida-200904230010.tar
rw-r--r-- 0/3 1409805 Apr 23 15:38 2009 ./tmp/cwyy-ufida-200904230010.tar.log
rwxr-xr-x 0/3 0 Apr 23 15:50 2009 ./tmp/
rw-r--r-- 0/3 0 Apr 23 15:50 2009 ./tmp/cwyy-ufida-200904230010.tar.log
释放该文件,可以看到是按照时间从早到晚顺序依次释放,之前的文件被最后大小为0的文件覆盖。
zjapp01#[/usr/local/appbackup/tmp]tar xvf ../tmp.tar ./tmp/cwyy-ufida-200904230010.tar.log
x ./tmp/cwyy-ufida-200904230010.tar.log, 1409805 bytes, 2754 tape blocks
x ./tmp/cwyy-ufida-200904230010.tar.log, 1409805 bytes, 2754 tape blocks
x ./tmp/cwyy-ufida-200904230010.tar.log, 0 bytes, 0 tape blocks
zjapp01#[/usr/local/appbackup/tmp]ll
total 0
drwxr-xr-x 2 root sys 96 Apr 23 15:53 tmp
zjapp01#[/usr/local/appbackup/tmp]ll tmp
total 0
-rw-r--r-- 1 root sys 0 Apr 23 15:50 cwyy-ufida-200904230010.tar.log
使用tar xvf 时,要释放的文件参数必须和使用tar tvf命令看到的内容完全一样(每个字符都一样)
从下面例子可见,在tmp.tar文件中包含的内容 ./tmp/cwyy-ufida-200904230010.tar.log, tmp/cwyy-ufida-200904230010.tar.log,是相同的文件的相对路径备份,只是写相对路径时一个加了"./",一个没有加,这样在释放的时候使用不加“./”的字串“ tmp/cwyy-ufida-200904230010.tar.log“,可以看到只是释放了没有加"./"时备份的文件。
zjapp01#[/usr/local/appbackup/tmp]tar tvf ../tmp.tar
rwxr-xr-x 0/3 0 Apr 23 15:22 2009 ./tmp/
rw-r--r-- 0/3 1409805 Apr 23 15:22 2009 ./tmp/cwyy-ufida-200904230010.tar.log
rw-r--r-- 0/3 1063444480 Apr 23 15:23 2009 ./tmp/cwyy-ufida-200904230010.tar
rwxr-xr-x 0/3 0 Apr 23 15:38 2009 tmp/
rw-r--r-- 0/3 1063444480 Apr 23 15:38 2009 tmp/cwyy-ufida-200904230010.tar
rw-r--r-- 0/3 1409805 Apr 23 15:38 2009 tmp/cwyy-ufida-200904230010.tar.log
rwxr-xr-x 0/3 0 Apr 23 15:38 2009 ./tmp/
rw-r--r-- 0/3 1063444480 Apr 23 15:38 2009 ./tmp/cwyy-ufida-200904230010.tar
rw-r--r-- 0/3 1409805 Apr 23 15:38 2009 ./tmp/cwyy-ufida-200904230010.tar.log
rwxr-xr-x 0/3 0 Apr 23 15:50 2009 ./tmp/
rw-r--r-- 0/3 0 Apr 23 15:50 2009 ./tmp/cwyy-ufida-200904230010.tar.log
rw-r--r-- 0/3 1409805 Apr 23 16:02 2009 /usr/local/appbackup/tmp/cwyy-ufida-200904230010.tar.log
zjapp01#[/usr/local/appbackup/tmp]tar xvf ../tmp.tar tmp/cwyy-ufida-200904230010.tar.log
x tmp/cwyy-ufida-200904230010.tar.log, 1409805 bytes, 2754 tape blocks
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11411056/viewspace-733490/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/11411056/viewspace-733490/