现在的位置: 首页 > 综合 > 正文

nginx 定时分割日志

2017年11月11日 ⁄ 综合 ⁄ 共 922字 ⁄ 字号 评论关闭

nginx  是没有自动分割日志的,所以就需要自己实现日志分割

原   站点所有日志都放在一个目录里(文件名即站点名)
分割方式:每个站点一个目录,每天生成一个日志文件,根据文件名称生成目录

呆狐狸.凨

1.lanmps_cut_log.sh  shell文件

#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/root/bin:~/bin
export PATH
# Check if user is root
if [ $UID != 0 ]; then echo "Error: You must be root to run the install script, please use root to install lanmps";exit;fi
#日志目录
IN_WEB_LOG_DIR="/www/wwwLogs"
YESTERDAY=`date -d "yesterday" +%Y-%m-%d`
[ ! -d $IN_WEB_LOG_DIR/logs ] && mkdir $IN_WEB_LOG_DIR/logs

for filename in `ls $IN_WEB_LOG_DIR`
	do 
		if [ -f $IN_WEB_LOG_DIR/$filename ] ; then
				#echo $IN_WEB_LOG_DIR/$filename
				#echo $IN_WEB_LOG_DIR/logs/${filename%.log}/${YESTERDAY}.log
				tmpPath=$IN_WEB_LOG_DIR/logs/${filename%.log}
				[ ! -d $tmpPath ] && mkdir $tmpPath
				mv $IN_WEB_LOG_DIR/$filename $tmpPath/${YESTERDAY}.log
				rm -rf $IN_WEB_LOG_DIR/$filename
		fi
	done
	
	
#nginx  pid 文件位置
kill -USR1 `cat /www/lanmps/nginx/logs/nginx.pid`

保存位置 例如:/root/lanmps_cut_log.sh

2.定时任务

#在 每天凌晨00:01运行
1 0 * * * /root/lanmps_cut_log.sh

抱歉!评论已关闭.