900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > Shell脚本分割Nginx日志 并定期清理

Shell脚本分割Nginx日志 并定期清理

时间:2020-12-29 14:11:39

相关推荐

Shell脚本分割Nginx日志 并定期清理

后端开发|php教程

nginx,log,quot,web,dir

后端开发-php教程

默认nginx只会生成一个访问日志,在每天的积累下,日志文件会变的非常大,如果需要做一下日志的分析,无论是使用脚本分析,还是把日志下载本地分析,都不太方便。每天分割Nginx的访问日志,有利于分析日志。

android市场 源码,vscode 无法输入,怎么解压在ubuntu里的文件,tomcat最新bug,sqlite回车符,jquery editor插件,前端框架构成设计模型,java爬虫怎么自动翻页,iis加php,seo前线培训,独立网站支付宝收款,jquery网页加音乐播放器,新浪微博模板配色lzw

一:新建脚本文件

bgp源码使用,ubuntu开机运行,如何爬虫客户需求,php 下月,seo所需软件lzw

vim cut_nginx_log.sh

文字游戏源码,怎样完全卸载ubuntu,tomcat性能计算怎么用,爬虫文件内容,php pdf加背景,seo关键词分析挖掘优化三实训lzw

#!/bin/bash#nginx access log segmentation shell script##日志目录log_dir="/usr/local/nginx/logs/"cd $log_dirtime=`date +%Y%m%d --date="-1 day"`#nginx启动目录nginx_dir="/etc/init.d/nginx"#日志保存天数save_days=15#日志文件名所处/分割的位置,key(/数+1)num=6; #此处待优化(取得文件不带后缀的文件名)website=`ls $log_dir*.log | xargs -n 1 | cut -f 1 -d "." | cut -f $num -d "/"`#日志目录下所有的日志文件为文件夹,循环新建对应的时间文件for i in $websitedo#判断目录是否存在if[!-d $log_dir$i ];then mkdir "$i"fi mv $log_dir$i.log $log_dir$i/$i-$time.logdone #删除设置天数前的数据find $log_dir/-mtime +$save_days -exec rm -rf {} \; #平滑启动nginx$nginx_dir reload

B、设置crontab,每天定时切割

如果没有安装,运行yum -y install crontabs 安装。

输入crontab -e命令(详情参考:/Html/web/article_232.html),

输入下面的内容:

00 00 * * * /bin/bash /usr/local/nginx/cut_nginx_log.sh

1、00 00意思为00分00点,也就是凌晨0点,后面“ * * * ”为“ 日 月 年 ”无需定义

2、”/usr/local/nginx/cut_nginx_log.sh” 为你的shell的路径。

OK ! 大功告成,每天的0时就会自动完成日志的切割并存在相应的以网站日志文件命名的目录中。

C、展示

web1.log => web1/web1-0322.log web1/web1-0323.log

web2.log => web2/web2-0322.log web2/web2-0323.log

博客:/Html/web/article_255.html

以上就介绍了Shell脚本分割Nginx日志,并定期清理,包括了方面的内容,希望对PHP教学有兴趣的朋友有所帮助。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。