nginx日志分割实现


看了好几个网上的例子,写得不清不楚。于是决定自己写一个,说不定哪天忘记了可以再次打开学习学习。


但愿我写得比较清楚,下次看的时候或者别人看的时候不再费神。


由于nginx本身不支持日志分割,但是利用它的PID可以实现日志分割。


1.编写日志分割程序nginx-log.sh

#/bin/bash

#日志将要存放的路径

savepath_log='/logs/nginx/logs'

#nginx的日志路径

nglogs='/usr/local/nginx/logs'


mkdir -p $savepath_log/$(date +%Y)/$(date +%m)
mv $nglogs/access.log %savepath_log/$(date +%Y)/$(date +%m)/access.$(data +%Y%m%d).log
mv $nglogs/error.log %savepath_log/$(date +%Y)/$(date +%m)/error.$(data +%Y%m%d).log
kill -USR1 'cat /usr/local/nginx/logs/nginx.pid'
# kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)

#将这段脚本保存后加入到linux的crontab守护进程,让此脚本在每天凌晨0点执行,就可以实现日志的每天分割功能。


2.修改文件权限,使其可以被执行。
chmod 755 nginx-log.sh


3.可以看一下有哪些计划任务
crontab -l


4.打开守护进程,进入编程模式
crontab -e #如用vi按i键


5.在守护进程中增加要执行的任务,通常日志在0点分割
 0 0 * * * /logs/nginx/nginx-log.sh #执行文件存放路径


好了,就等着明天到日志目录下去看看实现结果吧。。

转载于:https://my.oschina.net/redking/blog/143451

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值