zenith-docs 1.0.0 Help

配置日志切割

当我们的 Nginx 运行时间比较久或者用户量比较大,就会导致日志迅速增长,日志量非常大。这时候我们去排查日志就不太方便,所以这篇文档介绍了如何对 Nginx 的日志进行切割。

按天为单位切割日志

一般我们按天为单位切割日志,脚本如下:

#!/bin/bash LOG_PATH="/var/log/nginx/" RECORD_TIME=$(date -d "yesterday" +百分号Y-百分号m-%d) PID=/var/run/nginx/nginx.pid mv ${LOG_PATH}/access.log ${LOG_PATH}/access.${RECORD_TIME}.log mv ${LOG_PATH}/error.log ${LOG_PATH}/error.${RECORD_TIME}.log #向Nginx主进程发送信号,用于重新打开日志文件 kill -USR1 `cat $PID`

设置定时任务每天执行

然后我们设置定时任务,每天执行。首先配置定时任务:

$ crontab -e # 打开定时任务配置文件

在配置文件中加入如下配置:

*/1 * * * * /usr/local/nginx/sbin/cut_nginx_log.sh

然后重启定时任务:

$ systemctl restart crond

查看定时任务列表:

$ crontab -l

定时任务配置格式:

星期几

年(可选)

取值范围

0-59

0-23

1-31

1-12

1-7

比如 2023

常用的表达式:

# 每分钟执行 */1 * * * * # 每天晚上 23:59 分执行 59 23 * * * # 每天凌晨 1 点执行 0 1 * * *
Last modified: 06 August 2024