2012-04-28 41 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