TypechoJoeTheme

Dcr163的博客

nignx定时任务完成日志按日期存储

2021-06-10
/
0 评论
/
36 阅读
/
正在检测是否收录...
06/10

Nignx定时任务完成日志按日期存储

直接上脚本,把下面的代码另存为一个 log.sh shell脚本

#!/bin/bash
#日志目录,根据需要修改成自己的
base_path='/www/wwwlogs'
#日志目录用年月新建
log_path=$(date -d yesterday +"%Y%m")
#日志的文件名
day=$(date -d yesterday +"%d")
#创建日志目录按年月
mkdir -p $base_path/$log_path
#移动当前日志并重命名到指定目录
mv $base_path/www.wxxc.com.log $base_path/$log_path/www.wxxc.com_$day.log
#重新打开日志文件
/www/server/nginx/sbin/nginx -s reopen

例如我把脚本放在了:/www/server/nginx/shells/log.sh目录下,需要给该脚本赋予执行权限, chmod 755 /www/server/nginx/shells/log.sh

测试脚本
直接在shell终端执行:/www/server/nginx/shells/log.sh 如果没有报错则可以直接新建定时任务;

报错(坏的解释器)的解决办法:

[root@dcr163-entos7 shells]# /www/server/nginx/shells/log.sh
-bash: /www/server/nginx/shells/log.sh: /bin/bash^M: 坏的解释器: 没有那个文件或目录
#则需要执行下面的目录,(这个文件在Windows 下编辑过,在Windows下每一行结尾是\n\r,而Linux下则是\n,所以才会有 多出来的\r。)
sed -i 's/\r$//' /www/server/nginx/shells/log.sh

新建定时任务

crontab -e 
#nginx日志分隔,每天的2点01分执行脚本
01 02 * * * /www/server/nginx/shells/log.sh

执行效果如下图

就此,nignx的日志自动分隔就完成了~

赞(0)
版权属于:

Dcr163的博客

本文链接:

https://dcr163.cn/483.html(转载时请注明本文出处及文章链接)

评论 (0)