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