Linux环境制定每日切割Nginx日志任务

/ NGINX / 没有评论 / 417浏览

初语:

服务器的日志每天都会记录着很多访客的轨迹,有很高的价值,但是如果分割日志的话,日记月累,会导致日志文件特别的庞大,会有几个G这么大都有可能发生,查看时可能软件会崩溃,另外就是也不方便我们查看,所以分割日志有很大的必要性。

正文:

1.创建在根目录创建data文件夹
mkdir /data

2.进入data文件
cd data

3.创建runlog.sh脚本
vim runlog.sh

4.脚本内容:

#!/bin/bash
#建立日志对应的变量
LOGPATH=/usr/local/nginx/logs/access.log

#建立日志存放路径变量
BASEPATH=/data

#建立名时间的日志文件
bak=$BASEPATH/$(date -d yesterday +%Y%m%d%H%M).access.log
#生成
echo $bak
#将新日志移动到ginx的logs目录下
mv $LOGPATH $bak
#修改文件信息(不存在则生成)
touch $LOGPATH

#切割日志指令:
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`

#执行看看效果
sh runlog.sh执行一次

#进入日常任务管理:
crontab -e

#建立任务:(每天6点18分执行脚本)
*/18 6 * * * sh /data/runlog.sh

补充:

由于出现了一个bug,我解决不了代码只能给图片了,让我十分的头疼,问遍了java群都没有能弄出来,代码我贴在评论区,也更新在我的csdn账号上,欢迎大家指正,相互学习。

联系:

🐧企鹅:184820911

📕邮箱:184820911@qq.com