根据http://www.gnu.org/software/automake/manual/tar/Incremental-Dumps.html,我尝试在我的 Ubuntu 上使用 tar 和 --listed-incremental 创建增量备份,但 --listed-增量部分对我不起作用。
在第 0 天,我执行:
SNAR_TODAY=`date +%Y_w%U_${DOW}`
TARGET='/srv/backups/'
SOURCE='/srv/data'
FILENAME=`date +%Y%m%d_%H%M`
tar -cvf $TARGET/$FILENAME.tar --atime-preserve --listed-incremental=$TARGET/$SNAR_TODAY.snar $SOURCE &> $TARGET/$FILENAME.log
Run Code Online (Sandbox Code Playgroud)
工作正常并创建我的 /srv/data 和 2011_wXY_0.snar 的完整备份。
在第 1-6 天,我执行:
DOW=`date +%u`
TODAY=$DOW
YESTERDAY=`expr $TODAY - 1`
SNAR_TODAY=`date +%Y_w%U_${TODAY}`
SNAR_YESTERDAY=`date +%Y_w%U_${YESTERDAY}`
TARGET='/srv/backups/'
SOURCE='/srv/data'
FILENAME=`date +%Y%m%d_%H%M`
cp -p $TARGET/$SNAR_YESTERDAY.snar $TARGET/$SNAR_TODAY.snar
tar -cvf $TARGET/$FILENAME.tar --atime-preserve --listed-incremental=$TARGET/$SNAR_TODAY.snar $SOURCE &> $TARGET/$FILENAME.log
Run Code Online (Sandbox Code Playgroud)
问题: tar 为完整目录创建一个新的 .tar - 不执行任何增量操作。
系统:Linux srv03 2.6.32-28-server #55-Ubuntu SMP
$ tar --version
tar (GNU tar) 1.22 …
Run Code Online (Sandbox Code Playgroud)