首页 > 代码库 > nginx 日志分割脚本
nginx 日志分割脚本
#!/bin/bash
# 01 00 * * * /nginxlogs/ngx_logcut.sh >/dev/null 2>&1 ##可以放到计划任务里自动执行脚本
if [ ! -e $logfile ];
then
continue
fi
find . -type f -name $logfile"20*" -mtime +$keepdays -exec rm {} \; #find找到符合条件的日志并删除
mv $logfile $logfile$(date -d "yesterday" +"%Y%m%d") #把昨日日志改成日志名+日期的格式
done
kill -USR1 `cat $pidfile` ##USR1通常被用来告知应用程序重载配置文件;例如,nginx服务器发送一个USR1信号将导致以下步骤的发生:停止接受新的连接,等待当前连接停止,重新载入配置文件,重新打开日志文件,重启服务器,从而实现相对平滑的不关机的更改
# 01 00 * * * /nginxlogs/ngx_logcut.sh >/dev/null 2>&1 ##可以放到计划任务里自动执行脚本
pidfile=/var/run/nginx.pid #nginx进程pid文件
logpath=‘/nginxlogs/‘ #日志目录
keepdays=30 #日志保存天数
logfiles=(error.log access.log ) #以数组形式列出日志名称
cd $logpath #进入到日志目录
for logfile in ${logfiles[@]}; do #以数组的形式去匹配if [ ! -e $logfile ];
then
continue
fi
find . -type f -name $logfile"20*" -mtime +$keepdays -exec rm {} \; #find找到符合条件的日志并删除
mv $logfile $logfile$(date -d "yesterday" +"%Y%m%d") #把昨日日志改成日志名+日期的格式
done
kill -USR1 `cat $pidfile` ##USR1通常被用来告知应用程序重载配置文件;例如,nginx服务器发送一个USR1信号将导致以下步骤的发生:停止接受新的连接,等待当前连接停止,重新载入配置文件,重新打开日志文件,重启服务器,从而实现相对平滑的不关机的更改
nginx 日志分割脚本
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。