Nginx日志自动切割脚本

此脚本基于『CentOS 6.2 上编译安装 Nginx 1.0.15 + PHP 5.3.12 + MySQL 5.1.62』配置,用于自动切割nginx日志。

说明:每隔7天执行一次,使用crontab自动运行脚本,请根据自己的需要修改代码中的domain.com

1
2
3
4
5
6
7
8
9
#!/bin/bash
#Nginx 日志路径
logs_path="/home/wwwlogs/"
mkdir -p ${logs_path}$(date -d -7day +"%Y")/$(date -d -7day +"%m")/
mv ${logs_path}domain.com.access.log ${logs_path}$(date -d -7day +"%Y")/$(date -d -7day +"%m")/domain.com.access_$(date -d -7day +"%Y%m%d").log
kill -USR1 `cat /usr/local/webserver/nginx/logs/nginx.pid`

脚本为上,叫其保存为cut_nginx.sh,然后设置crontab,每周一凌晨00:00进行切割,运行 crontab -e 输入以下内容

0 0 * * 1 /yourpath/cut_ngin.sh

之后每隔一个星期脚本会自动执行一次,然后会将旧日志存放在『Y/M/domain.com.access_YMD.log』中。

参考:

Nginx 0.8.x + PHP 5.2.13(FastCGI)搭建胜过Apache十倍的Web服务器(第6版)[原创]