Linux—Nginx优化—日志分割与压缩
一.日志分割
1.Nginx没有类似于Apache的cronlog日志分割处理功能,但是可以通过Nginx的信号控制功能脚本来实现日志的自动分割,并且将脚本加入到Linux的计划任务中去,让脚本在每天固定的时间执行,便可以实现切割功能
编写脚本进行日志切割的思路
设置时间变量
设置保存日志路径
将目前的日志文件进行重命名
删除时间过长的日志文件
设置cron任务,定期执行脚本自动进行日志分割
2.具体操作:
[root@localhost conf]# cd /opt
[root@localhost opt]# ls
nginx-1.12.2 rh
[root@localhost opt]# vim fenge.sh
#!/bin/bahs
#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