我在/etc/logrotate.d有以下文件:
/usr/share/apache-tomcat/logs/*.access { nodateext copytruncate daily rotate 7 notifempty postrotate EXT=`date --date='-1 day' +%Y-%m-%d` /bin/gzip $1.1 mv $1.1.gz $1.$EXT.log.gz endscript create 0640 tomcat tomcat }
它应该采取一个文件servername.access并将其移动到servername.access.2013.02.24.log.gz
当我手动运行sudo /usr/sbin/logrotate -v /etc/logrotate.d/tomcat它的工作原理从每天的cron里面不工作
/var/lib/logrotate.status的内容
logrotate state -- version 2 "/var/log/yum.log" 2013-1-1 "/var/log/up2date" 2012-12-12 "/var/log/sssd/*.log" 2012-12-12 "/var/log/dracut.log" 2013-1-1 "/var/log/httpd/*log" 2013-2-12 "/var/log/wtmp" 2012-12-12 "/var/log/spooler" 2013-2-24 "/usr/share/apache-tomcat/logs/AWS001.access" 2013-2-24 "/var/log/btmp" 2013-2-12 "/var/log/rhsm/rhsmcertd.log" 2013-2-24 "/var/log/maillog" 2013-2-24 "/var/log/php-fpm/error.log" 2013-2-24 "/var/log/cups/*_log" 2012-12-12 "/var/log/secure" 2013-2-24 "/var/log/rhsm/rhsm.log" 2013-2-24 "/var/log/messages" 2013-2-24 "/var/account/pacct" 2012-12-12 "/var/log/cron" 2013-2-24
/var/log/cron输出:
Feb 24 00:48:01 AWS001 run-parts(/etc/cron.daily)[13433]: starting logrotate Feb 24 00:48:02 AWS001 run-parts(/etc/cron.daily)[13457]: finished logrotate
有人有个想法吗?
我终于搞定了
sudo crontab -u root -l(在cron中列出用户root的作业) 没有工作 sudo crontab -u root -e(编辑crontab) @daily / usr / sbin / logrotate -v /etc/logrotate.d/tomcat> / dev / null 2>&1 保存文件 sudo crontab -u root -l 一个用户root的工作
我还在/etc/logrotate.d/tomcat中添加了完整path,如用户quanta所示
注意:当你cat / etc / crontab时它仍然是空的
我在/ var / spool / cron / root文件中find了我的工作
感谢所有回答
当我手动运行
sudo /usr/sbin/logrotate -v /etc/logrotate.d/tomcat它的工作原理从每天的cron里面不工作
请记住,你应该总是使用cron中的绝对path,所以试试这个:
EXT=`/bin/date --date='-1 day' +%Y-%m-%d` /bin/gzip $1.1 /bin/mv $1.1.gz $1.$EXT.log.gz
logrotate -d /path/tologrotate.conf
(注意:不是你的片段文件,包括它的顶层文件)
输出可以是有帮助的。
sudo / usr / sbin / logrotate -d /etc/logrotate.conf摘录在/ var / lib / logrotate.status里面(否则它没有任何东西可以旋转)
rotating pattern: /usr/share/apache-tomcat/logs/*.access after 1 days (7 rotations) empty log files are not rotated, old logs are removed considering log /usr/share/apache-tomcat/logs/AWS001.access log needs rotating rotating log /usr/share/apache-tomcat/logs/AWS001.access, log->rotateCount is 7 dateext suffix '-20130225' glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]' renaming /usr/share/apache-tomcat/logs/AWS001.access.7 to /usr/share/apache-tomcat/logs/AWS001.access.8 (rotatecount 7, logstart 1, i 7), renaming /usr/share/apache-tomcat/logs/AWS001.access.6 to /usr/share/apache-tomcat/logs/AWS001.access.7 (rotatecount 7, logstart 1, i 6), renaming /usr/share/apache-tomcat/logs/AWS001.access.5 to /usr/share/apache-tomcat/logs/AWS001.access.6 (rotatecount 7, logstart 1, i 5), renaming /usr/share/apache-tomcat/logs/AWS001.access.4 to /usr/share/apache-tomcat/logs/AWS001.access.5 (rotatecount 7, logstart 1, i 4), renaming /usr/share/apache-tomcat/logs/AWS001.access.3 to /usr/share/apache-tomcat/logs/AWS001.access.4 (rotatecount 7, logstart 1, i 3), renaming /usr/share/apache-tomcat/logs/AWS001.access.2 to /usr/share/apache-tomcat/logs/AWS001.access.3 (rotatecount 7, logstart 1, i 2), renaming /usr/share/apache-tomcat/logs/AWS001.access.1 to /usr/share/apache-tomcat/logs/AWS001.access.2 (rotatecount 7, logstart 1, i 1), renaming /usr/share/apache-tomcat/logs/AWS001.access.0 to /usr/share/apache-tomcat/logs/AWS001.access.1 (rotatecount 7, logstart 1, i 0), copying /usr/share/apache-tomcat/logs/AWS001.access to /usr/share/apache-tomcat/logs/AWS001.access.1 truncating /usr/share/apache-tomcat/logs/AWS001.access running postrotate script running script with arg /usr/share/apache-tomcat/logs/AWS001.access: " EXT=`/bin/date --date='-1 day' +%Y-%m-%d` /bin/gzip $1.1 /bin/mv $1.1.gz $1.$EXT.log.gz " removing old log /usr/share/apache-tomcat/logs/AWS001.access.8 error: error opening /usr/share/apache-tomcat/logs/AWS001.access.8: No such file or directory