随着Nginx运行时间增加,日志也会增加。为了方便掌握Nginx运行状态,需要时刻关注Nginx日志文件,太大的日志文件对监控是一个大灾难,所以需要定期进行日志文件的切割。
Nginx自身不具备日志分割处理的功能,但可以通过Nginx信号控制功能的脚本实现日志的自动切割,并通过Linux的计划任务周期性地进行日志切割。
[root@localhost 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
[root@localhost nginx]# chmod +x fenge.sh //添加执行权限
[root@localhost nginx]# ls
client_body_temp conf fastcgi_temp fenge.sh html logs proxy_temp sbin scgi_temp uwsgi_temp
[root@localhost nginx]#
[root@localhost nginx]# ls /var/log/nginx //执行前没有该目录
ls: 无法访问/var/log/nginx: 没有那个文件或目录
[root@localhost nginx]# ./fenge.sh //执行脚本
[root@localhost nginx]# ls /var/log/nginx //目录创建成功,并生成日志文件
test.com-access.log-20191112
[root@localhost nginx]#
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。