postrotate脚本没有收到旋转的文件名

我正在尝试在一个exim日志上做一些处理,但是我的脚本没有收到作为参数的旋转的日志文件名,而是获取了原始的日志文件名(不再存在)

/var/log/exim/*log" { daily rotate 3650 delaycompress missingok notifempty nosharedscripts postrotate echo $0 $1 $2 >> /tmp/out /path/to/script $1 endscript } 

/ tmp / out中的结果:

  logrotate_script /var/log/exim/main.log 

我在跑

 logrotate --force -v /etc/logrotate.conf 

输出似乎表明它正在重命名,然后运行:

 renaming /var/log/exim/main.log to /var/log/exim/main.log-20160105 running postrotate script 

这是在一个亚马逊Linux实例。 我已经用sharedscripts和nosharedscripts选项试了一下,没有什么区别。

我怎样才能得到旧的重命名的文件名?

如果结果日志文件是(logfilepath)。(log) – (20160105)格式化,也许你可以试试这个:

 postrotate DATE=`date '+%Y%m%d'` /path/to/script $1-$DATE endscript 

如果你想要(logfilepath) – (20160105)。(log)格式,你可以使用:

 postrotate DATE=`date '+%Y%m%d'` LOGF=${1%*.} /path/to/script $LOGF-$DATE.log endscript 

与$ 1返回日志文件path