环境是docker-compose,日志是挂载出来的,通过logrotate进行日志切割。
安装logrotate
yum install logrotate -y
在 /etc/logrotate.d/ 目录下新建一个 nginx 的文件
vim /etc/logrotate.d/nginx
/home/ccshop-docker-compose/log/nginx/access.log {
daily
rotate 10
dateext
copytruncate
delaycompress
compress
notifempty
missingok
}
保存就好
手动测试是否能执行成功
logrotate -f /etc/logrotate.d/nginx
参数解释:
daily 按天截取(‘daily’ 天,‘weekly’ 星期 或者‘yearly’ 月)
rotate 10 保存多少天
dateext 轮替的日志文件会附加上一个短横线和YYYYMMDD格式的时间戳
copytruncate 在合适的时候进行切换,不会影响log
delaycompress 推迟压缩, 和上个参数作用差不多,结合使用
compress 日志轮替时,旧的日志进行压缩
notifempty 如果日志为空文件,则不进行轮替
missingok 如果日志不存在,则忽略该日志的警告信息
配置模板
日志文件名的绝地路径(如果是多个用空格隔开)(或者…/nginx/*.log) {
需要配置的参数
}