与特定星期几相比,TAR的差异备份

我想在Debian Lenny上有如下的备份周期:

Monday : Full backup Tuesday : Differential backup relative to Monday Wednesday: Differential backup relative to Monday Thursday : Differential backup relative to Monday Friday : Differential backup relative to Monday Saturday : Differential backup relative to Monday Sunday : Differential backup relative to Monday 

现在我用:

 tar -czf /tmp/backup/all-sites-$(date +"%F").tar.gz --exclude '*/imagecache/*' --exclude '*/logs/*' /var/www/public_html/ > /tmp/backup/logfile 2>&1 

我应该使用--after-date还是--newer选项? 如果是这样,这些选项的语法是什么?

Google / MAN页面上的例子让我更加困惑,开导我。

我会用 – 更新。 这将检查ctime,对有问题的文件/目录的任何操作都将更新。 所以这将会捕获任何更改,甚至权限更改,这可能是你想要的。 如果你不关心文件/目录的实际修改,你可以使用–newer-mtime。 至less在我的系统中,新旧同义是同义词。

就语法而言,您需要将datestring作为parameter passing给“–newer”标志。 我通常通过创build一个包含类似“20-Mar”(即"date +%d-%b" )的完整文件,并创build一个包含我上一次完整备份date的文件,然后使用该文件在使用时填入参数–newer:

 --newer `cat /path/to/datefile` 

更简单的方法来“更新”将是这样的:

tar -cvf archive.tar -N“last Mon”dir_to_be_archived /

这样你就不需要创builddate文件。 请注意,-N与–newer相同。 令人惊讶的是,时间语法可以在“date”程序的信息(man)页面中find,而不是在tar的手册中。