2012-04-28 43 views
3

我想用tar进行增量备份。 我在2012-04-08做了完整备份,后来我想备份在该日期之后创建或更改的所有文件。焦油忽略 - 以后的选项?

所以我做了这样的事情:

cd /directory/I/wanted/to/back/up 
tar --newer 2012-04-08 -cvnf "/backup/dir/$(date +%F).tar" 

一会儿我才意识到,焦油归档,我知道上次备份没有改变文件之后。我检查了他们的修改日期,他们不应该包括在内。

我coudn't相信,所以我做了一个小测试:

cd ~ 
mkdir test 
cd test 
touch -t 201101010000 OLD 
touch NEW 
cd .. 
tar -N 2012-01-01 -cvf test.tar ./test/* 
tar -tf test.tar 
ls -o ./test/ 

它清楚地似乎焦油忽略-N,--newer和--AFTER最新选择。它已经存档了这两个文件,即使我在2012年之前创建了一个名为OLD的文件时间戳。

我该如何帮助自己呢?

回答

8

您的日期格式必须为

tar --newer 20120408 

较新的文件比4月8日,2012年没有 “ - ”!

或者你可以使用

TWODAYSAGO=`(date --date '2 days ago' --rfc-3339=seconds)` 
tar -cz --newer-mtime="${TWODAYSAGO}" -f bakfile.tgz /dir_to_backup