nginx日志分割小脚本

时间:2023-03-08 16:01:20

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