nginx分割日志

nginx不同于httpd,不能自动分割日志,一般须要写个定时任务,如下是每晚12点把前一天的日志备份到以日期为名字的文件夹里,能够保证便于查找每天的日志文件,下面就是nginx日志切割脚本,已经上线运行一年多:

 

#!/bin/bash

# daily_cut_log.sh

# author:simonsun

# email: [email protected]
# Daily log cutting at 00:00

NGINX_LOG="/installed/nginx/log/position/"
mkdir ${NGINX_LOG}$(date -d "yesterday" +"%Y%m%d")
mv ${NGINX_LOG}access.log ${NGINX_LOG}$(date -d "yesterday" +"%Y%m%d")
kill -USR1 $(cat /installed/nginx/processid/position/nginx.pid)

 

注:USR1 信号表示重新载入日志文件

 

修改该文件权限(chmod u+x daily_cut_log.sh)后,添加到计划任务,每天0点执行:

[root@myserver ~]# crontab -e
0 0 * * * /installed/nginx/sh/position/daily_cut_log.sh

[root@myserver ~]# crontab -l
0 0 * * * /installed/nginx/sh/position/daily_cut_log.sh

 

 

你可能感兴趣的:(nginx,linux,log,bash)