rsync 过滤器内的日期变量?

rsync 过滤器内的日期变量?

我有一个 rsync 脚本,用于从远程服务器同步日志文件。日志文件始终命名为 YYYY-MM-DD-HH-MM-SS。

目前,我有一个过滤器,仅获取当前年份的日志:

筛选条件:
- 2009*
- 2010*
- 2011*
- 2012*
+ 2013*

我的问题是......如果我只想同步两个月的数据(当前月份和上个月),有没有办法在脚本中使用变量(即+ yearVariable-MonthVariable*)而不必不断手动更新它?

谢谢你!

答案1

使用date及其计算功能来帮助您:

date --date="1 months ago" +%Y-%m

当前将输出2013-03。将其存储在 var 中并使用它来构造过滤器。

pm=$(date --date="1 months ago" +%Y-%m)
cm=$(date +%Y-%m)

Filters in rsync string: -2012* +$cm +$pm

或类似的东西。

相关内容