logrotate配置文件:
[root@localhost ~]<20181212 11:48:47># cat /etc/logrotate.d/httpd /usr/local/apache/logs/access.log { daily rotate 30 create missingok notifempty dateext sharedscripts postrotate /usr/local/apache/bin/httpd -k graceful > /dev/null 2>/dev/null || true endscript } #或者/bin/kill -SIGUSR1 `cat /usr/local/apache/logs/httpd.pid 2>/dev/null` 2>/dev/null || true。对比graceful好点。如果配置文件错误,graceful不会造成httpd服务异常。 #如果怕安全重启服务会造成服务异常, 可以不重启服务,而是使用copytruncate选项。他是先拷贝日志,然后清空日志的方式。拷贝开始和拷贝结束之间的日志会丢失(一般1-2秒钟)。把上面的sharedscripts和postrotate和endscript这几行删除。
设置定时任务:
也可以不设置定时任务,因为logrotate会自动分割,时间大概是凌晨3点左右。
1 0 * * * /usr/sbin/logrotate -f /etc/logrotate.d/httpd > /dev/null 2>&1
转载于:https://blog.51cto.com/net881004/2346983