clear_nginx_log.sh
----------------------------------
#!/bin/bash
# This script run at
00
:
00
# The Nginx logs path
LOGS_PATH=
"/data/logs/nginx/"
ARCHIVE_PATH=$(date -d
"yesterday"
+
"%Y"
)_$(date -d
"yesterday"
+
"%m"
)
LOG_POSTFIX=$(date -d
"yesterday"
+
"%Y%m%d"
)
mkdir -p ${LOGS_PATH}/${ARCHIVE_PATH}/
#
mv ${LOGS_PATH}access.log ${LOGS_PATH}/${ARCHIVE_PATH}/access_${LOG_POSTFIX}.log
mv ${LOGS_PATH}error.log ${LOGS_PATH}/${ARCHIVE_PATH}/error_${LOG_POSTFIX}.log
# 重启nginx
kill -USR1 `cat /usr/local/nginx/nginx.pid`
# 删除超过 N 天的日志
find /data/logs/nginx/ -type f -name
"*.log"
-mtime +
5
| xargs rm -f
crontab定时执行每天0点
------------------------------------------
0
0
* * * root /root/admin/clear_nginx_log.sh