在nginx的日志路径/usr/local/nginx/logs/下建立此文件:
#nginx日志切割脚本
#author: kg
#!/bin/bash
#设置日志文件存放目录
logs_path="/usr/local/nginx/logs/"
#设置pid文件
pid_path="/usr/local/nginx/logs/nginx.pid"
#重命名日志文件
mv ${logs_path}access.log ${logs_path}access_$(date -d "yesterday" +"%Y%m%d").log
#向nginx主进程发信号重新打开日志
kill -USR1 `cat ${pid_path}`
授权此文件:
chmod 755 nginx_log_split.sh
执行./nginx_log_split.sh测试下,如果在logs文件夹下有access_20160529.log,说明脚本书写没有问题。
然后执行 crontab -e,输入以下内容并保存(每天凌晨0点执行一次):
0 0 * * * /usr/local/nginx/logs/nginx_log_split.sh
查看定时任务命令:
crontab -l
查看结果:
0 0 * * * /usr/local/nginx/logs/nginx_log_split.sh
说明定时任务配置成功,然后重启cron:
/etc/rc.d/init.d/crond restart
借鉴:http://www.nginx.cn/255.html