nginx的日志一直是写在一个文件上面,运行久了之后文件会非常大,因此我们有必要对nginx的日志进行分割:
1
2
3
4
5
6
7
8
9
10
11
|
#! /bin/bash
ACCESS_LOG=/data/nginx/www.log
ERROR_LOG=/data/nginx/error.log
YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)
#mv logs
echo "move log files"
mv ${ACCESS_LOG} /data/logs/nginx/www.log-${YESTERDAY}
mv ${ERROR_LOG} /data/logs/nginx/error-log-${YESTERDAY}
echo "reopen log files"
kill -USR1 $(cat /data/nginx/nginx.pid)
echo "done"
|
上面代码有几个地方的变量需要读者们改成自己相关的设置。最关键是kill –USR1 重启相关日志,但是进程并不会重启。
在crontab -e中输入如下命令来每周运行一次
1
|
0 1 * * 1 /data/nginx/nginx-log.sh
|