logrotate语法错误附近的意外令牌`20'

我上周清理了我的apache日志,现在开始出现这些错误。 任何想法如何我可以解决这个问题?

/etc/cron.daily/logrotate: logrotate_script: -c: line 1: syntax error near unexpected token `20' logrotate_script: -c: line 1: ` find /var/log/apache2 -name "*.log.gz" -maxdepth 1 +mtime <20> -delete &>/dev/null' error: error running shared postrotate script for '/var/log/apache2/*.log ' run-parts: /etc/cron.daily/logrotate exited with return code 1 

文件:/etc/logrotate.d/apache2

 /var/log/apache2/*.log { daily missingok rotate 20 compress delaycompress notifempty create 640 root adm sharedscripts postrotate /etc/init.d/apache2 reload > /dev/null endscript postrotate find /var/log/apache2 -name "*.log.gz" -maxdepth 1 +mtime <20> -delete &>/dev/null endscript } 

你应该检查你的find命令,特别是+mtime <20>我不确定这是否正确的语法。 你是否将名为“20”的文件redirect到查找中?

我不确定问题的出现在哪里,但可能是两次冲突。 尝试将两者合并在一起

 /var/log/apache2/*.log { daily missingok rotate 20 compress delaycompress notifempty create 640 root adm sharedscripts postrotate /etc/init.d/apache2 reload > /dev/null find /var/log/apache2 -name "*.log.gz" -maxdepth 1 +mtime 20 -delete &>/dev/null endscript }