nginx 关闭access日志_nginx优化之日志切割(网站收集自用+分享)

下面是日志切割的shell脚本:

[root@proxy ~]# vim /usr/local/nginx/logbak.sh
#!/bin/bash
date=`date +%Y%m%d`
logpath=/usr/local/nginx/logs
mv $logpath/access.log $logpath/access-$date.log
mv $logpath/error.log $logpath/error-$date.log
kill -USR1 $(cat $logpath/nginx.pid)

在日志目录下,mv日志文件并重命名加上时间,kill -USR1的意思是,如下图,kill命令有64种信号,kill命令发送USR1信号给nginx,nginx收到此信号,会重新打开日志文件(默认名称acess.log,如果文件不存在,会自动创建一个的文件access_log),并且会把日志文件的所属者改为worker进程(也就是nginx),目的是让worker进程具备对日志文件的读写权限 (此处可以ll看一下,master和worker通常以不同用户运行,所以需要改变所属者)。nginx的主进程会关闭重名的日志文件(也就是上面mv后,加上了date的文件),并且worker进程使用新打开的日志文件(也就是新的access.log)。

简单讲,主进程发送USR1信号给worker,worker收到信号后,,会重新打开日志文件(默认配置文件access.log)error.log也是同一个道理 。

49ba9ddd14fa81ecad2743ddc61c1ed6.png
如图,kill命令有64种信号


每周5的03点03分自动执行脚本完成日志切割工作。(计划任务)
[root@proxy ~]# crontab -e
03 03 * * 5 /usr/local/nginx/logbak.sh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值