焦油是否忽略 - 后期选项?

unf*_*nfa 4 backup tar

我想用tar进行增量备份.我在2012-04-08进行了完整备份,之后我想备份在该日期之后创建或更改的所有文件.

所以我做了这样的事情:

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

过了一会儿,我意识到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/
Run Code Online (Sandbox Code Playgroud)

很明显,tar忽略了-N, - 更新和 - 后期选项.它已存档这两个文件,即使我命名为OLD的文件是在2012年之前使用时间戳创建的.

我怎么能帮助自己呢?

Eri*_*ric 9

您的日期格式必须是

tar --newer 20120408
Run Code Online (Sandbox Code Playgroud)

对于比2012年4月8日更新的文件.没有" - "!

或者你可以使用

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