Nginx日志切割(按天切割)


先确定nginx日志路径和pid路径

   我的日志路径在  /var/log/nginx/(access,error).log

   我的pid路径在  /run/nginx.pid

  创建日志切割后的存放路径  

mkdir -p /var/log/nginx/logs

编写脚本文件,存放在任何路径都可,

vi runlog.sh

#!/bin/bash

# 设置日志文件存放目录
logs_path="/var/log/nginx/"
backup_path="/var/log/nginx/logs/"
# 设置pid文件
pid_path="/run/nginx.pid"

# 重命名日志文件
mv ${logs_path}/access.log ${backup_path}/access_$(date -d "yesterday" +"%Y%m%d").log
mv ${logs_path}/error.log ${backup_path}/error_$(date -d "yesterday" +"%Y%m%d").log

# 向nginx主进程发信号重新打开日志
kill -USR1 `cat ${pid_path}`

# 压缩
gzip ${backup_path}/access_$(date -d "yesterday" +"%Y%m%d").log
gzip ${backup_path}/error_$(date -d "yesterday" +"%Y%m%d").log

# 删除超过指定时间的日志文件,单位:天
find  $backup_path -name "*.gz" -type f -mtime +30 -exec rm -rf {} \;

编写定时任务

crontab -e
0 0 * * * sh /var/log/nginx/runlog.sh

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM