首页 > 其他 > 详细

nginx日志分割脚本

时间:2019-08-28 18:02:21      阅读:106      评论:0      收藏:0      [点我收藏+]

此文档只针对linux分割nginx日志

nginx日志不自动带日志分割功能,需要自己写脚本分割日志,并加入到每日任务中,定期分割、存储、删除日志

此脚本包括,日志分割、保存、删除、重建日志文件

 

#!/bin/bash

#date +%Y%m%d%H%M%S
YEAR=`date +%Y`
MONTH=`date +%m`
DAY=`date +%d`
HOUR=`date +%H`
MINUTE=`date +%M`
SECOND=`date +%S`

#pid path
pid_path="/portal/software/nginx/logs/nginx.pid"
#LOG path
LOGDIR=/portal/software/nginx/logs/back_up_log/
LOGDIR2=/portal/software/nginx/logs/sotp_error_log/

#  Screening log files
LOGNAME=`ls /portal/software/nginx/logs/ |grep "\.log"`
#Create the LOGDIR
#mkdir -p $LOGDIR1
#mkdir -p $LOGDIR2

#Move the log file to new position, and change the name

for i in ${LOGNAME}
do
#LOG name
LOGFILE=${i}-$YEAR"-"$MONTH"-"$DAY"-"$HOUR$MINUTE$SECOND
mv -f  /portal/software/nginx/logs/$i ${LOGDIR}/${LOGFILE} && touch /portal/software/nginx/logs/$i

done
#  reload nginx process
kill -USR1 `cat ${pid_path}`
#  remove logs 6 days ago
/usr/bin/find  $LOGDIR -name "*" -mtime +6 | /usr/bin/xargs rm -f

加入日常任务

crontab -e

00 01 * * * /bin/sh /opt/cronjob/mysql_daily_backup.sh

注:  前面五项,分别是 分、时、日、月、周  上面意思是每天的晚上一点执行日志分割脚本

保存后,重启crond任务

/etc/init.d/crond restart

 

nginx日志分割脚本

原文:https://www.cnblogs.com/yxqnote/p/11425300.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!