说明:每隔7天执行一次,使用crontab自动运行脚本,请根据自己的需要修改代码中的domain.com
#!/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版)[原创]