我想用 tar 做一个增量备份。我在 2012-04-08 进行了完整备份,后来我想备份在该日期之后创建或更改的所有文件。
所以我做了这样的事情:
cd /directory/I/wanted/to/back/up
tar --newer 2012-04-08 -cvnf "/backup/dir/$(date +%F).tar"
过了一会儿,我意识到 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/
很明显, tar 似乎忽略了 -N、--newer 和 --after-date 选项。它已经归档了这两个文件,尽管我命名为 OLD 的文件是在 2012 年之前使用时间戳创建的。
我该如何帮助自己呢?