4月 072020
 

以下为一个典型的nginx日志分割脚本:
#!/bin/bash
savepath_log=’/home/nginx/logs’
nglogs=’/opt/nginx/logs’
mkdir -p $saveptah_logs/$(data +%Y)/$(date +%m)
mv $nglogs/access.log $savepath_log/$(data +%Y)/$(date +%m)/access.$(date +%Y%m%d).log
mv $nglogs/error.log $savepath_log/$(data +%Y)/$(date +%m)/error.$(date +%Y%m%d).log
kill -USR1 `cat /opt/nginx/logs/nginx.pid`

最后一句是什么意思? USR1是什么参数?

通过kill -l可以看到,-USR1 等于 kill -10,是用户定义的进程信号,USR1亦通常被用来告知应用程序重载配置文件;例如,向Apache HTTP服务器发送一个USR1信号将导致以下步骤的发生:停止接受新的连接,等待当前连接停止,重新载入配置文件,重新打开日志文件,重启服务器,从而实现相对平滑的不关机的更改。

从脚本可以看出,当执行脚本时,会把access.log和error.log移到日志目录,所以原来nginx的logs目录下就没有access.log和error.log了,使用kill -USR1 nginx.pid 重新平滑的生成了这两个日志文件,相当于使用了nginx -s reload.

 

 Posted by at 下午2:52

Sorry, the comment form is closed at this time.