Linux segmentada por día el registro de nginx

fondo

nginx archivo de registro no funciona rotación. Con el tiempo, el registro será cada vez más hinchado, un descanso accesslog próximamente a través de 2.5G, es necesario realizar un guión de troncos cortados día.

1, los archivos de registro de copia de seguridad bajo el directorio / nginx / logs / historyLog / usr / local, nombre de archivo de la copia de seguridad es access_yyyyMMdd.log y error_yyyyMMdd.log.

1. Crear archivos nginx_logs.sh, y otorgar permisos de ejecución.

chmod  +x  nginx_logs.sh

2. escritura de reserva

#!/bin/bash
# This script run at 00:00

# The Nginx logs path
logs_path="/usr/local/nginx/logs/historyLog/"

logPath="/usr/local/nginx/logs/"
#创建备份目录  如2020/03
mkdir -p ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/
#将日志移动到上面的目录中
mv ${logPath}access.log ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/access_$(date -d "yesterday" +"%Y%m%d").log
mv ${logPath}error.log ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/error_$(date -d "yesterday" +"%Y%m%d").log
#主要用到nginx的-usr1信号,usr1 : reopen the log files 向nginx主进程发送信号以重新打开日志
kill -USR1 `cat ${logs_path}nginx.pid`

3. Crear un directorio en los respaldos del registro, cambie a / usr / share / nginx / logs locales

mkdir historyLog

2, estableciendo el comando crontab, el tiempo-luna y segundo circunferencial

1, dado a la tarea de temporizador "crontab -e"

#将于每天凌晨0点0分将nginx日志重命名为昨天的日期格式,并重新生成今天的新日志
0 0 * * * bash /usr/local/nginx/logs/nginx_logs.sh

2. En primer lugar realiza manualmente nginx_logs.sh

 

 

Publicado 23 artículos originales · ganado elogios 33 · Vistas a 30000 +

Supongo que te gusta

Origin blog.csdn.net/qq_33612228/article/details/104922620
Recomendado
Clasificación