首页 > 其他 > 详细

NGINX日志切割

时间:2019-09-23 20:27:51      阅读:92      评论:0      收藏:0      [点我收藏+]
mv /path/to/nginx/logs/access.log bak_access.log

执行此命令Nginx会重新生成新的为0bytes的access.log文件:

/path/to/nginx -s reopen
-rw-r--r--  1 www root    0 5月  18 14:39 access.log
-rw-r--r--. 1 www root 3543 5月  18 14:38 bak_access.log
-rw-r--r--. 1 www root    0 5月  12 17:08 nginx_error.log

使用定时任务配合shell脚本进行每天对日志切割并保存到history目录,以下命令保存为LogCutting.sh并增加可执行权限。

#!/bin/bash
# 历史日志目录
NGINX_HISTORY_LOGS_PATH=/path/to/nginx/logs/history
# NGINX日志目录
NGINX_CURRENT_LOGS_PATH=/path/to/nginx/logs
# NGINX进程PID文件
NGINX_PID_FILE=/path/to/nginx/logs/nginx.pid
YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)
mv ${NGINX_CURRENT_LOGS_PATH}/access.log ${NGINX_HISTORY_LOGS_PATH}/${YESTERDAY}_access.log
mv ${NGINX_CURRENT_LOGS_PATH}/error.log ${NGINX_HISTORY_LOGS_PATH}/${YESTERDAY}_error.log
# 向NGINX主进程发送USR1信号,USR1信号为重新打开日志文件
kill -USR1 $(cat ${NGINX_PID_FILE})

增加定时任务:

crontab -e # 编辑定时任务脚本文件
0 0 * * * /path/to/LogCutting.sh # 每天0点执行
crontab -l # 查看是否添加成功

NGINX日志切割

原文:https://www.cnblogs.com/qiutianjia/p/11574043.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!