每天自动分割Nginx日志文件

       Nginx产生的日志都是存在一个文件,随着网站运行时间越长,日志文件的大小也在不断增长,

这对我们想分析当天日志非常的不方便,所以需要每天把日志文件分割出来,并以时间命名。

创建日志分割脚本

1、登录SSH,创建cut_logs.sh文件

vim /root/cut_logs.sh

        2、粘贴下面代码到cut_logs.sh,并保存

#!/bin/bash
#设置日志文件存放目录
logs_path="/usr/local/nginx/logs/"
#设置pid文件
pid_path="/usr/local/nginx/nginx.pid"
 
#重命名日志文件
mv ${logs_path}access.log ${logs_path}access_$(date -d "yesterday" +"%Y%m%d").log

mv ${logs_path}error.log ${logs_path}error_$(date -d "yesterday" +"%Y%m%d").log
 
#向nginx主进程发信号重新打开日志
kill -USR1 `cat ${pid_path}`
        3、添加cut_logs.sh执行权限

sudo chmod +x /root/cut_logs.sh

设置cut_logs.sh启动时间

执行命令crontab -e进入编辑状态,添加如下代码,每天0点01分启动。

01 00 * * * /root/cut_logs.sh
这样每天定时分割日志文件就设置成功了。当然如果你担心日志文件占太多空间,还可以执行压缩tar,并设置删除多少天前的日志文件。
捐助共勉
版权声明:若无特殊注明,本文皆为原创,转载请保留文章出处。