我试图在磁带设备上创建增量tar档案。
我遇到的问题是--newer | -N | --after-date
因为某些我无法理解的原因而被忽略。
我不是在谈论目录,因为据我所知tar只会查看文件的日期,dirs会一直包含在内。
--listed-incremental
参数给出了不一致的结果,所以我也不能使用它。
一个例子可能会解释我的问题:
以下是我尝试使用--newer
参数tar的目录中的列表:
[root@ba-backup software]# ls -lh nexenta/
total 600M
-rw-------. 1 lieven lieven 387K Nov 27 2013 doc_3.1_automaticinstallation-viapxe- boot-3-1.pdf
drwxr-xr-x 2 lieven lieven 4.0K Jul 10 12:26 newdir
-rw-r--r-- 1 lieven lieven 0 Jul 10 12:26 newfile
-rw-r--r--. 1 lieven lieven 599M Sep 26 2013 NexentaStor-Community-3.1.5-GA.iso
-rw-------. 1 lieven lieven 280K Nov 27 2013 NexentaStor-InstallationGuide-3.1.x.pdf
这是我的tar命令,结果是:
tar --totals --atime-preserve=system --index-file=nex.tar.index --label nextar --newer 20131010 -cvf nex.tar -C /data/samba/users/lieven/software/nexenta/ .
tar: Option --after-date: Treating date `20131010' as 2013-10-10 00:00:00
Total bytes written: 628705280 (600MiB, 53MiB/s)
cat nex.tar.index
nextar
./
./doc_3.1_automaticinstallation-viapxe-boot-3-1.pdf
./NexentaStor-Community-3.1.5-GA.iso
./newdir/
./NexentaStor-InstallationGuide-3.1.x.pdf
./newfile
正如您所看到的,它正确地将日期转换为我想在示例中使用的相同日期,它不应归档从2013年9月开始的iso文件,而更新的说它要求的文件比2013年10月10日更新实际上除了iso之外都是。
为了让事情变得神秘,如果我想要比2014-07-01更新的新文件和newdir,那么它是有效的:
tar --totals --atime-preserve=system --index-file=nex.tar.index --label nextar --newer 20140701 -cvf nex.tar -C /data/samba/users/lieven/software/nexenta/ .
tar: Option --after-date: Treating date `20140701' as 2014-07-01 00:00:00
tar: ./doc_3.1_automaticinstallation-viapxe-boot-3-1.pdf: file is unchanged; not dumped
tar: ./NexentaStor-Community-3.1.5-GA.iso: file is unchanged; not dumped
tar: ./NexentaStor-InstallationGuide-3.1.x.pdf: file is unchanged; not dumped
Total bytes written: 10240 (10KiB, 6.7MiB/s)
这里有一些关于iso文件的信息,它应该在第一次运行中被排除:
stat nexenta/NexentaStor-Community-3.1.5-GA.iso
File: `nexenta/NexentaStor-Community-3.1.5-GA.iso'
Size: 628011008 Blocks: 1226592 IO Block: 4096 regular file
Device: 901h/2305d Inode: 112466146 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 500/ lieven) Gid: ( 500/ lieven)
Access: 2014-07-10 11:42:17.501325399 +0200
Modify: 2013-09-26 13:35:07.000000000 +0200
Change: 2014-03-25 15:53:20.594456047 +0100
我有点希望访问时间可以解释它,但它没有看到这个,或者它应该总是包含两个测试中的所有文件。
有人知道造成这种奇怪的数据行为的原因吗?
作为旁注,我使用YYYY-mm-dd
或$(date)
命令尝试了不同的日期格式,但没有一个确实改变了行为。
感谢。