Nginx 日志切割
Posted work hard work smart
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx 日志切割相关的知识,希望对你有一定的参考价值。
随着访问量的增加,nginx的日志会越来越多,日志体积会越来越大,不便于运维人员查看。切割可以以天为单位,如果日志每天有几百个G或者几个T的话。则可以按需每半天或者每小时对日志切割。
1、nginx日志切割shell
/usr/local/nginx/sbin
vi cut_my_log.sh
#!/bin/bash LOG_PATH="/usr/local/nginx/logs/" RECORD_TIME=$(date +%Y-%m-%d+%H:%M) PID=/usr/local/nginx/logs/nginx.pid mv ${LOG_PATH}/access.log ${LOG_PATH}/access.${RECORD_TIME}.log mv ${LOG_PATH}/error.log ${LOG_PATH}/error.${RECORD_TIME}.log # 向Nginx主进程发送信号,用于重新打开日志文件 kill -USR1 `cat $PID`
这里为了能尽快看到效果,以分钟为单位进行切割。
2、手动执行my_cut_log.sh
chmod +x cut_my_log.sh
./cut_my_log.sh
缺点:每次需要手动执行shell脚本
3、定时执行my_cut_log.sh
1) 安装定时任务
yum install crontabs
启动crontab
service crond start
查看crontab是否启动
service crond status
查看定时任务列表
crontab -l
2) crontab -e 添加一个新任务
*/1 * * * * /usr/local/nginx/sbin/cut_my_log.sh
然后重启crontab
systemctl restart crond.service
这样自动分割nginx日志就设置好了。
以上是关于Nginx 日志切割的主要内容,如果未能解决你的问题,请参考以下文章