文章目录
一、Nginx日志切割
1.1Nginx日志切割概述
- Nginx运行时间增加,日志也会增加,为了方便查看Nginx运行状态,需要时刻关注Nginx日志文件
- 日志文件数量大对监控是一个大灾难
- Nginx自身不具备日志分割处理功能,但可以通过Nginx信号控制功能脚本实现日志的自动切割
- 通过linux的计划任务周期性地进行日志切割
1.2Nginx日志切割的方法
- 设置时间变量
- 设置保存日志路径
- 将目前的日志文件进行重命名
- 重建新日志文件
- 删除时间过长的日志文件
- 设置cron任务,定期执行脚本自动进行日志分割
1.3Nginx日志切割的配置
- 创建脚本
[root@localhost ~]# cd /opt
[root@localhost opt]# vim feg.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 -HUP $(cat $pid_path)
find $logs_path -mtime +30 | xargs rm -rf
①date -d “-1 day” “+%Y%m%d” ##唯一性区分 前一天时间
②date -d "+1 (second minute hour day month year) ##后一秒/分/时/天/日/月/年
- 重启服务
[root@localhost opt]# systemctl start nginx
[root@localhost opt]# ls /usr/local/nginx/logs/
access.log error.log nginx.pid
- 设置权限执行分割
[root@localhost opt]# chmod +x feg.sh
- 查看调试信息
[root@localhost opt]# sh -x feg.sh
- 查看日志分割
[