nginx日志分割总结

时间:2021-12-26 06:20:44

nginx日志自己不会进行分个,所有日志都会累积的记录在 access.log,error.log 中,当请求量大,一天就能到几百兆,如果不进行分给,对日志的查看和写入性能都有影响。

1. 编写脚本nginx_log_division.sh

logs_path="/cztv/logs/nginx/"

# 以前的日志文件。

log_name_access="access.log"
log_name_error="error.log"

pid_path="/var/run/nginx.pid"

# 每周
# mv ${logs_path}${log_name_access} ${logs_path}${log_name_access}_$(date --date="LAST WEEK" +"%Y-%m-%d").log
# mv ${logs_path}${log_name_error} ${logs_path}${log_name_error}_$(date --date="LAST WEEK" +"%Y-%m-%d").log

mv ${logs_path}${log_name_access} ${logs_path}${log_name_access}_$(date -d yesterday +%Y%m%d)
mv ${logs_path}${log_name_error} ${logs_path}${log_name_error}_$(date -d yesterday +%Y%m%d)

2. 建立pid文件,并在nginx.conf进行配置。

touch /var/run/nginx.pid

并填入nginx 的pid。

在nginx.conf中增加:

pid        /var/run/nginx.pid;

3. 建立定时分割。

crontab -e

00 04 * * * /cztv/script/nginx_log_division.sh

每天凌晨4点执行脚本进行日志的分割。