nginx 日志文件分割
因为nginx自身不带日志分割的功能 所以我们用shell脚本来完成这一任务
1.首先我来说明下nginx的主进程号:
如果nginx.conf 配置文件中使用了"pid /usr/local/nginx/nginx.pid;"指定了pid文件的存放路径,我们可以通过more这个pid文件来获得nginx的主进程号,或者使用
ps -ef | grep nginx 查看
2.如果想每天定时切割日志,还需配置crontab.
3.创建一个shell脚本
4.配置crontab每天凌晨00:00 定时执行这个脚本
#crontab -e
5.讲解下这个脚本的意思
这个shell脚本和crontab配置主要实现的功能为:假设今天的日期为2010年4月11日,nginx当前的日志文件为/home/logs/a.log,2010年4月12日00:00 会执行fenge.sh脚本,
脚本首先创建一个目录/home/logs/2010/04/,让后将/home/logs /a.log 文件移动并重命名为/home/logs/2010/04/access_20100411.log,在发送kill -USR1 '主进程号' 信号给nginx重新生成一个/home/logs/a.log文件,2010年4月12日的日志记录在这个新生成的日志文件中.而home/logs /2010/04/access_20100411.log文件,就是2010年4月11日的日志文件.