首页 > 技术文章 > Nginx日志切割 定时清理

security-guard 2021-11-25 12:23 原文

先确定nginx日志路径和pid路径
   日志路径在  /var/opt/nginx/log/nginx(access,error).log
   pid路径在  /var/opt/nginx/run/nginx/nginx.pid
  创建日志切割后的存放路径

mkdir -p /var/lib/nginx/log

 写脚本,存放到存储盘

#!/bin/bash
#此脚本用于自动分割Nginx的日志,access.log
#每天00:00执行此脚本 将前一天的access.log重命名为access-xxxx-xx-xx.log格式,并重新打开日志文件
#Nginx日志文件所在目录
LOG_PATH=/var/opt/nginx/log/nginx/
backup_path=/var/log/nginx/logs/
#获取昨天的日期 YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)
#获取pid文件路径 PID=/var/opt/nginx/run/nginx/nginx.pid
#分割日志 mv ${LOG_PATH}access.log ${LOG_PATH}access-${YESTERDAY}.log
#向Nginx主进程发送USR1信号,重新打开日志文件 kill -USR1 `cat ${PID}`
#定时删除7天前的log find ${LOG_PATH}access.log -name "*.log" -type f -mtime +7 -exec rm -rf {} \;

 编写定时任务

crontab -e
00 00 * * * /bin/bash /var/lib/nginx/cut_nginx_log.sh

 

推荐阅读