nginx日志切割脚本

#/bin/bash 

#Site:Happy

#Email:[email protected]
yesterday=$(date +%Y-%m-%d)  #取得服务器当前时间

savepath_log='/usr/local/nginx/logs/happylogs'#分割后的日志文件保存目录(注意结尾目录斜杠去掉)

nglogs='/usr/local/nginx/logs'  #nginx日志文件目录,具体根据实际地址替换(结尾目录斜杠去掉 以免与下面路径中的"/"重复)

 

#判断分割日志保存目录是否存在不存在则创建 

if [ ! -d ${savepath_log} ]   # 注意 语句之间 空格不可省略,这是bash脚本 不是php脚本那样随和 

then

mkdir -p ${savepath_log}

fi 

#通过mv命令将日志移动到分割后的日志目录里,然后发送kill -USR1信号给Nginx的主进程号,让Nginx重新生成一个新的日志文件。

mv ${nglogs}/access.log  ${savepath_log}/access_${yesterday}.log  #具体根据你的实际日志文件名路径 进行修改access.log名字

mv ${nglogs}/error.log  ${savepath_log}/error_${yesterday}.log  #具体根据实际日志文件名地址 修改error.log名字

mv ${nglogs}/host.access.log  ${savepath_log}/host.access_${yesterday}.log 
kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)  #通知nginx重新生成新的日志

你可能感兴趣的:(nginx日志切割脚本)