nginx日志切割

编辑shell脚本 

mahao@ubuntu:/etc/nginx$ sudo mkdir shell
mahao@ubuntu:/etc/nginx$ cd shell/
mahao@ubuntu:/etc/nginx/shell$ sudo vim runlog.sh

 

#! /bin/bash

 

#这里指定自己的日志文件路径
LOG_PATH=/var/log/nginx/test_locals_com_access.log
#按月生成日志
BASE_PATH=/var/log/nginx/test_locals_com/$(date -d yesterday +%Y%m)
#新的日志名称
mkdir -p $BASE_PATH
LOG_NAME=$BASE_PATH/$(date -d yesterday +%d%H%M)_test_locals_com.log
#将日志文件移动到指定位置
mv $LOG_PATH $LOG_NAME
#在原目录创建新的nginx日志 网站访问量高的情况nginx会自动生成,可忽略 。 (如果一天没有人访问,那么就不会有test_locals_com_access.log,所以此项按需选择)
#touch $LOG_PATH
#发送kill -USR1信号给Nginx的主进程号,让Nginx重新生成一个新的日志文件
kill -USER1 `cat /run/nginx.pid`

 

创建定时任务: 

mahao@ubuntu:~$ vi /etc/rsyslog.d/50-default.conf

 将cron.* 前的 # 删掉;

mahao@ubuntu:~$ service rsyslog restart;
mahao@ubuntu:~$ service cron restart;

 

mahao@ubuntu:~$ sudo crontab -e

 测试环境下将频率设置得比较高是为了快速测试,开发环境根据自己需要按天执行。

*/5 * * * * sh /etc/nginx/shell/runlog.sh >/dev/null 2>&1

你可能感兴趣的:(Nginx)