Linux nginx 每天自动分割日志文件

Nginx 产生的日志都是存在一个文件,随着网站运行时间越长,日志文件的大小也在不断增长,这对我们想分析当天日志非常的不方便,所以需要每天把日志文件分割出来,并以时间命名。

创建日志分割脚本

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

vi /root/cut_logs.sh

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

#!/bin/bash

# The Nginx logs path

logs_path=”/home/wwwlogs/”

mkdir -p ${logs_path}$(date -d “yesterday” +”%Y”)/$(date -d “yesterday” +”%m”)/

mv ${logs_path}www.juzihc.com.log ${logs_path}$(date -d “yesterday” +”%Y”)/$(date -d “yesterday” +”%m”)/juzihc_$(date -d “yesterday” +”%Y%m%d”).log

kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)

3、添加cut_logs.sh执行权限

chmod +x /root/cut_logs.sh

设置cut_logs.sh启动时间

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

01 00 * * * /root/cut_logs.sh

这样每天定时分割日志文件就设置成功了。当然如果你担心日志文件占太多空间,还可以执行压缩tar,并设置删除多少天前的日志文件。

知识共享许可协议
作品采用知识共享署名-相同方式共享 3.0 Unported许可协议进行许可。
永久连接: http://www.sjbeta.com/61.html
标签:
« »

近期文章

近期评论

     

    2012 年二月
    « 一    
     12345
    6789101112
    13141516171819
    20212223242526
    272829