Nginx 是一个非常轻量的 Web 服务器,体积小、性能高、速度快等诸多优点。但不足的是也存在缺点,比如在产生的访问日志文件一直就是一个,不会自动地进行切割,如果访问量很大的话,将会导致日志文件容量非常大,不便于管理。当然了,我们也不希望看到这么庞大的一个访问日志文件,那需要手动对这个文件进行切割。

如果访问日志非常大,不便于我们每天查看相关的网站异常日志。

在 Linux 平台上 Shell 脚本丰富,使用 Shell 脚本加 crontab 命令能非常方便地进行切割。

今天我将跟大家一起来写一个企业环境中使用的Nginx自动切换脚本。

脚本的功能,就是定时切割日志,这里切割的方法我们直接使用mv即可。

直接上脚本内容如下:

#!/bin/bash

#auto mv nginx log shell

#by author wugk

S_LOG=/usr/local/nginx/logs/access.log

D_LOG=/data/backup/`date +%Y%m%d`

echo -e “\033[32mPlease wait start cut shell scripts…\033[1m”

sleep 2

if [ ! -d $D_LOG ];then

 

        mkdir -p  $D_LOG

fi

 

mv $S_LOG  $D_LOG

 

kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`

 

echo “——————————————-“

echo “The Nginx log Cutting Successfully!”

echo “You can access backup nginx log $D_LOG/access.log files.”

执行如下图:

 

最后在crontab中添加如下代码即可,每天晚上自动去切割日志:

0          0  * * *

/bin/sh /data/sh/auto_nginx_log.sh  >>/tmp/nginx_cut.log 2>&1

版权声明:本文为linuxx原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:http://www.cnblogs.com/linuxx/p/8032369.html