利用 crontab + shell 来实现nginx的 access log 按天切割,便于统计。具体实现如下:
shell:
#! /bin/sh NGINX_DIR=/data/apps/nginx LOGS_PATH=$NGINX_DIR/logs ## 获取昨天的 yyyy-MM-dd YESTERDAY=$(date -d "yesterday" +%Y-%m-%d) ## 移动文件 mv ${LOGS_PATH}/access.log ${LOGS_PATH}/access_${YESTERDAY}.log ## 向 Nginx 主进程发送 USR1 信号。USR1 信号是重新打开日志文件 kill -USR1 $(cat $NGINX_DIR/logs/nginx.pid)
crontab:
0 0 * * * sh /data/apps/nginx/sbin/seg_log.sh
时间: 2024-11-10 16:42:59