logrotate 配置
原创
©著作权归作者所有:来自51CTO博客作者风中木偶的原创作品,请联系作者获取转载授权,否则将追究法律责任
1、以ph和nginx 为例:
cd /etc/logrotate.d
vim php
/alidata/log/php/*.log {
daily
rotate 30
dateext
create
compress
sharedscripts
copytruncate
}
vim nginx
/alidata/log/nginx/access/*/*.log {
daily
rotate 30
dateext
create
compress
sharedscripts
copytruncate
}
2、配置完成后测试:
强制执行:
sudo /usr/sbin/logrotate -f /etc/logrotate.conf
强制以调试模式执行
sudo /usr/sbin/logrotate -d -f /etc/logrotate.conf
3、配置crontab 定时执行
2 0 * * * /etc/cron.daily/logrotate
重启crontab
sudo service cron restart
copytruncate 用于还在打开中的日志文件,把当前日志备份并截断,解决日志仍然写入老文件问题
/alidata/log/*/*.log {
daily
rotate 20
dateext
create
compress
copytruncate
sharedscripts
}