我有一个 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
或类似的东西。