日志分割脚本:
#!/bin/bash
year=`date +%Y`
month=`date +%m`
day=`date +%d`
logs_backup_path="/data/log/nginx/$year$month" #日志存储路径
logs_path="/data/log/nginx/" #要切割的日志路径
logs_access="access" #要切割的日志
logs_error="error"
pid_path="/usr/local/nginx/logs/nginx.pid" #nginx的pid
[ -d $logs_backup_path ]||mkdir -p $logs_backup_path
rq=`date +%Y%m%d`
#mv ${logs_path}${logs_access}.log ${logs_backup_path}/${logs_access}_${rq}.log
mv ${logs_path}${logs_error}.log ${logs_backup_path}/${logs_error}_${rq}.log
kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)
crontab 配置,每天晚上凌晨备份一次
55 23 * * * sh /data/log/nginx_log_cut.sh
亲测好用,,,每天 23:55会吧日志切割备份
【1】原理是吧日志文件移动到对应日期目录下
【2】重启nginx(nginx记录时,日志文件不存在,可能会造成nginx运行异常)
本文介绍了一个用于Nginx日志管理的Shell脚本,该脚本能够自动将日志文件按日期切割并备份,同时重启Nginx以确保日志的连续性和系统稳定。通过crontab配置,实现每天自动执行,有效管理和优化日志存储。
1119

被折叠的 条评论
为什么被折叠?



