2012-04-28 7 views
3

私はtarを使用して増分バックアップを作成したかったのです。 2012年4月8日に完全バックアップを行いましたが、その日以降に作成または変更されたすべてのファイルをバックアップしたかったのです。私はタールは私が最後のバックアップ以降に変更されていない知っているファイルをアーカイブしていることに気づいしばらくtarは--after-dateオプションを無視していますか?

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

だから私はこのような何かをしました。私は彼らの修正日をチェックし、それらは含まれてはいけません。

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-日付オプションを無視しているようだ:

私はので、私は少しテストをしたことを信じてcoudn't。 OLDという名前のファイルが2012年までにタイムスタンプで作成されていても、両方のファイルがアーカイブされています。

どうすればこの問題を解決できますか? " - "

答えて

8

あなたの日付形式は4月8日、2012年ませんより新しいファイル用の

tar --newer 20120408 

でなければなりません!

またはあなたが使用することができます

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