Nginx配置日志切割
1. 进入/etc/logrotate.d目录
cd /etc/logrotate.d
2. 创建nginx日志切割脚本
vim nginx
3. 输入以下内容
* 注意 /home/data/nginx/logs/*.log 以实际服务器要存放日志文件为准
/home/data/nginx/logs/*.log { daily size 10M minsize 10M rotate 30 missingok notifempty compress nodelaycompress copytruncate dateext dateformat -%Y-%m-%d dateyesterday postrotate if [ -f /home/data/nginx/logs/nginx.pid ];then kill -USR1 `cat /home/data/nginx/logs/nginx.pid` fi endscript }
4. 配置说明
- 按天切割
- 文件大小为10M的时候才切割
- 保留最近30天的日志文件
- 切割中遇到日志错误忽略
- 日志如果为空将不进行切割和压缩
- 以gzip压缩
- 不要将刚切割后的日志文件放到下个循环中进行压缩
- 切割后的日志文件添加扩展名
- 扩展名为年月日
- 扩展名的年月日为昨天的日期
- 在切割后执行 postrotate/endscript之间的命令,此处为热重启nginx
5. 配置crontab执行
crontab -e
00 00 * * * /usr/sbin/logrotate -f /etc/logrotate.d/nginx
To the world you may be one person, but to one person you may be the world