为了便于查看nginx的错误日志,需要将其按小时分割,操作步骤如下:
1、编写nginx日志分割脚本,脚本内容如下:
#!/bin/bash
#获取当前时间
log_year=$(date +"%Y")
log_month=$(date +"%m")
log_day=$(date +"%d")
log_hour=$(date +"%H")
#nginx日志路径
logs_path="/usr/local/nginx/logs/"
save_path="/usr/local/nginx/logs/$log_year$log_month$log_day/"
#每天的日志放在单独的文件夹下,以日期命名,如果该文件夹不存在则创建该文件夹
if [ ! -d ${save_path} ]
then
mkdir -p ${save_path}
fi
#移动error.log日志文件,并按日期命名
mv ${logs_path}error.log ${save_path}error_${log_year}${log_month}${log_day}${log_hour}.log
#重新生成日志
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
2、将脚本加入crontab,定时执行
执行 crontab -e 命令,添加一下命令
# 每小时的第59分钟执行,可能需要修改脚本路径
59 * * * * /alidata/nginx_log.sh
3、重启cron
1、编写nginx日志分割脚本,脚本内容如下:
#!/bin/bash
#获取当前时间
log_year=$(date +"%Y")
log_month=$(date +"%m")
log_day=$(date +"%d")
log_hour=$(date +"%H")
#nginx日志路径
logs_path="/usr/local/nginx/logs/"
save_path="/usr/local/nginx/logs/$log_year$log_month$log_day/"
#每天的日志放在单独的文件夹下,以日期命名,如果该文件夹不存在则创建该文件夹
if [ ! -d ${save_path} ]
then
mkdir -p ${save_path}
fi
#移动error.log日志文件,并按日期命名
mv ${logs_path}error.log ${save_path}error_${log_year}${log_month}${log_day}${log_hour}.log
#重新生成日志
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
2、将脚本加入crontab,定时执行
执行 crontab -e 命令,添加一下命令
# 每小时的第59分钟执行,可能需要修改脚本路径
59 * * * * /alidata/nginx_log.sh
3、重启cron
执行命令 service cron restart
4、参考资料:http://www.sunbloger.com/article/288.html