Nginx的日志切割
随着Nginx运行时间增加,日志也会增加。为了方便掌握Nginx运行状态,需要时刻关注Nginx日志文件,太大的日志文件对监控是一个大灾难,所以需要定期进行日志文件的切割。
Nginx自身不具备日志分割处理的功能,但可以通过Nginx信号控制功能的脚本实现日志的自动切割,并通过Linux的计划任务周期性地进行日志切割。
1.在“/usr/local/nginx”目录下,添加一个日志分割脚本
[[email protected] nginx]# vim fenge.sh //脚本
#!/bin/bash
#Filename:fenge.sh
d=$(date -d "-1 day" "+%Y%m%d")
logs_path="/var/log/nginx"
pid_path="/usr/local/nginx/logs/nginx.pid"
[ -d $logs_path ] || mkdir -p $logs_path
mv /usr/local/nginx/logs/access.log ${logs_path}/test.com-access.log-$d
kill -USR1 $(cat $pid_path)
find $logs_path -mtime +30 | xargs rm -rf
[[email protected] nginx]# chmod +x fenge.sh //添加执行权限
[[email protected] nginx]# ls
client_body_temp conf fastcgi_temp fenge.sh html logs proxy_temp sbin scgi_temp uwsgi_temp
[[email protected] nginx]#
2.执行脚本
[[email protected] nginx]# ls /var/log/nginx //执行前没有该目录
ls: 无法访问/var/log/nginx: 没有那个文件或目录
[[email protected] nginx]# ./fenge.sh //执行脚本
[[email protected] nginx]# ls /var/log/nginx //目录创建成功,并生成日志文件
test.com-access.log-20191112
[[email protected] nginx]#
原文地址:https://blog.51cto.com/14449541/2450893
时间: 2024-11-06 03:47:22