使用logrotate輪詢日志很方便,配置也很簡單。
配置nginx
1、建立/etc/logrotate.d/nginx文件
vi /etc/logrotate.d/nginx
2、寫入如下內容:
/var/log/nginx/*log {
daily
rotate 10
missingok
notifempty
compress
sharedscripts
postrotate
[ ! -f /var/run/nginx.pid ] || kill -USR1 `cat /var/run/nginx.pid`
endscript
}
注釋:
/var/log/nginx/*log:需要輪詢日志路徑
daily:每天輪詢
rotate 10:保留最多10次滾動的日志
missingok:如果日志丟失,不報錯繼續滾動下一個日志
notifempty:當日志為空時不進行滾動
compress:舊日志默認用gzip壓縮
/var/run/nginx.pid:nginx主進程pid
配置radiusd
/var/local/var/log/radius/*log {
daily
missingok
rotate 120
compress
delaycompress
notifempty
create 666 radiusd radiusd
prerotate
/usr/bin/pkill -9 radiusd
endscript
sharedscripts
postrotate
/usr/local/sbin/radiusd -Xx > /usr/local/var/log/radius/radius.log&
endscript
}
配置apache
/var/log/httpd/*log {
missingok
notifempty
sharedscripts
postrotate
/sbin/service httpd reload > /dev/null 2>/dev/null || true
endscript
}