#!/bin/bash
LOG_PATH=/usr/local/nginx/logs
YESTERDAY=date -d yesterday +%Y-%m-%d
PID_PATH=/usr/local/nginx/logs/nginx.pid
mv LOG_PATH/access-PID_PATH ] || kill -USR1 cat $PID_PATH
find LOG_PATH/* -name "*.log" -type f -mtime +7 -exec rm -rf {} \;
添加定时任务
00 00 * * * /bin/sh /usr/local/nginx/logs/log.sh
1、做一个日志分割脚本文件:
vi /data/svr/nginx/sbin/nginx_cutlog.sh
#!/bin/bash
#nginx日志分割脚本:
#crontab,需要root下设置: 0 0 * * * /data/svr/nginx/sbin/nginx_cutlog.sh
#设置日志文件存放目录
LOG_HOME="/data/svr/nginx/logs/"
#备分文件名称
LOG_PATH_BAK="(date -d yesterday +%Y%m%d)"
#重命名日志文件
mv {LOG_HOME}/error.log L O G H O M E / e r r o r . {LOG_HOME}/error.LOG
H
OME/error.{LOG_PATH_BAK}.log
#向nginx主进程发信号重新打开日志
kill -USR1 cat ${LOG_HOME}/nginx.pid
#删除90天前的日志 #find /data/svr/nginx/logs/ -atime +90 -exec rm -f {} ;
2、在root下新建个crontab定时任务: crontab -e #nginx日志分割 0 0 * * * /data/svr/nginx/sbin/nginx_cutlog.sh #!/bin/bash DATA=PID_PATH ]; then mv LOG_PATH/access.LOG_PATH/error.log DATA.log kill -USR1 PID_PATH) find $LOG_PATH/* -name "*.log" -type f -mtime +15 | xargs rm -f else echo "Error,Nginx is not working!" >> /var/log/messages fi