Nginx学习日记(4)---ngnix日志的切分

上篇是学习了日志在conf/nginx.conf配置文件里面的配置。今天来学习日志的切分。

日志的切分:我们在日常生活中,对nginx日志的分析非常重要,通常需要运维去对nginx的日志进行切割和分析处理。其实日志的切分就是实现一个定时任务,去处理nginx日志。

步骤:

第一步,分析如何去实现日志的切分(就是对日志文件定期备份),编写shell脚本。

  你可以在windows里面创建一个log.sh文件,编辑这个文件,将shell脚本放到里面。

BACK_DIR=/usr/local/nginx
BACK_FILE_NAME=host.access.log

CURRENT_PATH=$BACK_DIR/logs
BAK_PATH=$BACK_DIR/datalogs

CURRENT_FILE=$CURRENT_PATH/$BACK_FILE_NAME
BAK_TIME=/bin/date -d yesterday +%Y%m%d%H%M
BAK_FILE=$BAK_PATH/$BAK_TIME-$BACK_FILE_NAME
echo $BAK_FILE                                #打印备份文件文件名

$BACK_DIR/sbin/nginx -s stop    #停止nginx服务

mv $CURRENT_FILE $BAK_FILE    #移动日志文件到目标文件里免去

$BACK_DIR/sbin/nginx  #启动nginx服务

或者你可以直接在centos系统里面进行编辑,这个我就不介绍了(进入到nginx根目录里面,vim ./sbin/log.sh,把上面的代码放进去就好)。

第二步:定时任务对脚本进行调度;

退回到命令行界面,执行 :第二步:crontab -e  ,进行定时脚本的编辑

0 0 * * *  /usr/local/nginx/sbin/log.sh  
#执行的corn表达式,可以百度了解
#后面的是你log.sh文件存放的路径,也就是你shell脚本存放路径

  定时任务每天00:00执行脚本/usr/local/nginx/sbin/log.sh,实现定时自动分割Nginx日志(包括访问日志和错误日志),这样Nginx每天都会生成一个新的日志文件。

 

然后它每天就会去切分日志文件了,将日志文件切分到你指定的备份目录。

 

你可能感兴趣的:(ngnix日志详解,后台,ngnix日志,nginx日志的切分)