shell脚本实践清除日志

在生产环境中日志是运维人员了解和分析生产环境的第一手资料,但是日志信息的内容量相当庞大,特别在公有云环境中运行的业务系统,一般系统盘在20G-40G左右,如果没有合理的日志管理方案,很容易出现存储空间不够的现象,总结了以下几种日志处理的简单方式,作为自己的实践笔记,同时和大家一起交流学习。

1、部分日志行数太多,时间周期比较久,里面没有什么很重要的价值信息,我们可以删除前面固定行数的日志文件;

find  /usr/app/    -name  filename -exec  sed  -i   ‘1,6000000d‘  {} \;

2、我们可以将部分日志直接删除,由于rm是一个比较危险的命令,所以一般情况都不会去使用,所以有折中的办法就是用mv替换剪切到某一个目录然后进入目录执行删除命令。

find   ./     -mtime +30  -exec  rm  -f  
{} \;

               

  logpath=/usr/tomcats/apache-tomcat-7.0.68-rxd/logs/
logname1=localhost_access_log.*
cd  $logpath ;echo  $logpath  &&
find   ./     -mtime +30  -exec mv {}  /tmp/ \;
#find   ./  -name  *.txt   -mtime +30  -exec mv {}  /tmp/ \;
cd  /tmp/ && rm  -f  *.log && rm -f *.txt
exit 0
时间: 2024-10-23 08:01:14

shell脚本实践清除日志的相关文章

用Shell脚本动态分析maillog日志,把恶意IP用防火墙禁止

用Shell脚本动态分析maillog日志,把恶意IP用防火墙禁止 系统环境:Centos 6.5 x64 Postfix邮件系统装好后,发现maillog中太多"SASL LOGIN authentication failed"垃圾IP地址.此脚本用于定期自动的将垃圾IP加入到防火墙中,直接拒绝掉.maillog部分信息如下 用户可以根据自己日志文件中的关键字,灵活的来调整要加入到防火墙当中的IP地址. Jun 11 03:58:36 host postfix/smtpd[11783

【转载】MySQL被慢sql hang住了,用shell脚本快速清除不断增长的慢sql的办法

原文地址:MySQL被慢sql hang住了,用shell脚本快速清除不断增长的慢sql的办法 作者:mchdba 某个初级dba误删index,mysql漫山遍野全是10S以上的慢sql,mysql服务被hang住了,而且慢sql不断在增加中,如果手动在mysql界面kill的话,根本来不及,这个时候,shell就必须要出手了,如下的shell脚本,大家可以参考: #It is used to kill processlist of mysql sleep #!/bin/sh while :

Linux下添加shell脚本使得nginx日志每天定时切割压缩

Linux下添加shell脚本使得nginx日志每天定时切割压缩一 简介 对于nginx的日志文件,特别是access日志,如果我们不做任何处理的话,最后这个文件将会变得非常庞大 这时,无论是出现异常时查日志,还是使用"GoAccess"等工具对日志进行分析都将会变得非常麻烦.因此,每天定时对nginx日志进行切割压缩就非常有必要了 二 实现 我的实现思路是每天晚上接近12点时定时执行脚本.其脚本内容就是将当前的nginx日志先按照当天日期进行重命名接着进行压缩,最后是新建空白的ngi

shell脚本分析apache日志状态码

一.首先将apache日志按天切割 vi /etc/httpd/conf/httpd.confErrorLog "|rotatelogs /var/log/httpd/%Y%m%derror_log 86400 480″CustomLog "|rotatelogs /var/log/httpd/%Y%m%daccess_log 86400 480″ combined 二.重启apache服 service httpd restart ##################apahce日志

shell脚本实践

    常见的shell脚本使用案例,从网上参考并自个修改后用于工作当中,除了在公司里面的wiki编写记录,在自个博客上还是有必要记录一下滴. 实战题1: 使用for循环在/oldboy目录下批量创建10个文件,名称依次为: oldboy-1 oldboy-2 ...... oldboy-10 答案: [[email protected]]# cat 1.sh #!/bin/bash for iin `seq 1 10` do [ ! -d /oldboy ] && mkdir /oldb

[linux] shell脚本编程-统计日志文件中的设备号发通知邮件

1.日志文件列表 比如:/data1/logs/2019/08/15/ 10.1.1.1.log.gz 10.1.1.2.log.gz 2.统计日志中的某关键字shell脚本 zcat *.gz|grep 关键字 |grep -oP "deviceid=[^=]+"|uniq|sort -u > /tmp/20190815.log date 格式化出年月等信息,拼接成路径 wc -l /tmp/20190815.log , 获取到行数 php /xxxxx/sendmail.ph

Shell脚本实现 tomcat 日志定时切割

日志切割的意义: 在生产环境中,当我们使用tomcat服务时,如果用户量过多,有没有日志切割,将会产生很大的日志,一天的日志都能有好几个G大小.当我们需要查看日志记录时,非常麻烦.因此,日志切割是很有必要的! 1.编写shell脚本 vim fengelog.sh #脚本声明 #!/bin/bash . /etc/profile . ~/.bash_profile #定义日志文件目录 applog_path=/usr/local/apache-tomcat-app/logs sapplog_pa

shell脚本定时清除messages日志及TAG为none的docker images

#!/bin/bashlogstatus=du -sh /var/log/messagesdocker_image=docker imagesdocker_none=docker images|grep nonedocker_rm=docker images|grep none|awk '{print $3 }'disk=df -hcleanlog(){echo "######start clean messages#######"echo "目前日志大小 $logstatu

shell脚本切割tomcat日志文件

转自:http://www.cnblogs.com/lishun1005/p/6054816.html 鉴于在调试logback和log4j的文件切割一直无法成功,随性用shell写个脚本用来切割tomcat下的日志文件(大家如果有在logback或log4j使用文件切割成功的话,可以留下使用方式,先谢谢了) 1:废话少说,直接贴上脚本: #!/bin/sh log_dir=/var/log/tomcat monitor_file=$1 #tomcat目录下的catalina.out文件的绝对路