Nginx日志切割

 为何要进行Nginx日志切割:linux

Nginx不像Tomcat那样能够自定义日志的大小、时间等生成方式,全部的日志会默认追加到一个文件中,很难去定位到小时间范围的日志。nginx

 

规划:bash

经过linux计划任务+日志切割脚本,实现按月生成文件夹,日志文件按天生成spa

脚本:日志

# cat /usr/local/nginx/splitlog.shcode

# /bin/bash

# 日志保存位置
base_path='/usr/local/nginx/logs'
# 获取当前年信息和月信息
log_path=$(date -d yesterday +"%Y%m")
# 获取昨天的日信息
day=$(date -d yesterday +"%d")
# 按年月建立文件夹
mkdir -p $base_path/$log_path
# 备份昨天的日志到当月的文件夹
mv $base_path/access.log $base_path/$log_path/access_$day.log
# 输出备份日志文件名
# echo $base_path/$log_path/access_$day.log
# 经过Nginx信号量控制重读日志
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`

绑定计划任务blog

# crontab -l
01 00 * * * /usr/local/nginx/splitlog.sh     #天天凌晨1分执行日志切割脚本crontab

查看:it

相关文章
相关标签/搜索