Nginx: host.access.log日志切割

随着几天下来nginx的host.access.log逐渐膨胀.

理想的做法就是根据每天进行区分日志文件,如host.access_20120815.log等, 日志保留最近10天的, 超过10天的日志文件则进行删除.

根据上需求进行nginx的日志切割.

1. 脚本nginxcutlogs.sh

[devwqs@rehserver bin]$ more nginxcutlogs.sh
#!/bin/bash

# 1. move host.access.log to host.access_20120821.log
logs_path="/home/devwqs/nginx/logs/"
mv ${logs_path}host.access.log ${logs_path}host.access_$(date -d "yesterday" +"%Y%m%d").log
kill -USR1 `cat /home/devwqs/nginx/logs/nginx.pid`

# 2. delete all host.access_2012xxxx.log which overtime 10 days
find ${logs_path} -name 'host.*.log' -type f -mtime +10 -exec rm {} \;

  

2. 使用crontab进行把上述脚本发布到定时任务, 每天凌晨0.01分定时执行nginxcutlogs:

#1. 编辑devwqs的crontab定时任务
[devwqs@rehserver bin]$ crontab –e 
1 0 * * * sh /home/devwqs/bin/nginxcutlogs.sh

#2. 重新启动crontab
[devwqs@rehserver bin]$ cd /etc/init.d
[devwqs@rehserver init.d]$ sudo ./crond restart
Stopping crond: [  OK  ]
Starting crond: [  OK  ]

 

注意: 一定要把crontab重启:

sudo ./crond restart

ubuntu使用: service cron restart

crontab学习资料:

http://blog.csdn.net/sipsir/article/details/3973713

http://os.51cto.com/art/200512/13558.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值