为nginx做日志切割一例

[不指定 2015/09/17 15:03 | by admin ]
| |
nginx安装于/home/web/nginx/
默认日志位于/home/web/nginx/logs/
开设的网站日志存放于/home/logs/目录
对于每天产生的日志,按日期建立目录,把当天的nginx日志移到日期目录内,再重启nginx而产生记录新日志,并过过期日志做自动删除

任务计划如下:
echo "59 23 * * * /home/web/nginx/sbin/cut.sh"  >>/var/spool/cron/root

/home/web/nginx/sbin/cut.sh
内容如下:
#!/bin/bash
# This script will run at 23:59 everyday and will del 10 days ago's log by auto
# The Nginx logs path
logs_path="/home/logs/"
mkdir -p ${logs_path}/$(date -d "today" +"%Y%m%d")
mv ${logs_path}/*.log ${logs_path}/$(date -d "today" +"%Y%m%d")/
mv /home/web/nginx/logs/access.log ${logs_path}//$(date -d "today" +"%Y%m%d")/
mv /home/web/nginx/logs/error.log ${logs_path}//$(date -d "today" +"%Y%m%d")/
rm -rf ${logs_path}/$(date +%Y%m%d -d '10 days ago')
kill -USR1 `cat /home/web/nginx/logs/nginx.pid`
电脑类 | 评论(0) | 引用(0) | 阅读(216)