shell脚本,用于监视Linux中的消息日志(警告,错误和严重)

该脚本将检查文件中的“警告,错误和严重”,并在/var/log/messages找到与之相关的邮件时触发给指定电子邮件ID的邮件。

我们不能经常运行此脚本,因为如果服务器上有很多匹配的字符串,它将填充您的收件箱,因此我们可以每天运行一次。

如果在昨天的“ /var /log/messages”文件中找到任何给定的字符串,则脚本将向给定的电子邮件ID发送电子邮件警报。

注意:请根据您的要求更改电子邮件ID和内存利用率阈值。

# vi /opt/scripts/os-log-alert.sh

#!/bin/bash

#Set the variable which equal to zero

prev_count=0

count=$(grep -i "`date --date='yesterday' '+%b %e'`" /var/log/messages | egrep -wi 'warning|error|critical' | wc -l)

if [ "$prev_count" -lt "$count" ] ; then

# Send a mail to given email id when errors found in log

SUBJECT="WARNING: Errors found in log on "`date --date='yesterday' '+%b %e'`""

# This is a temp file, which is created to store the email message.

MESSAGE="/tmp/logs.txt"

TO="daygeek@gmail.com"

echo "ATTENTION: Errors are found in /var/log/messages. Please Check with Linux admin." >> $MESSAGE

echo  "Hostname: `hostname`" >> $MESSAGE

echo -e "n" >> $MESSAGE

echo "+------------------------------------------------------------------------------------+" >> $MESSAGE

echo "Error messages in the log file as below" >> $MESSAGE

echo "+------------------------------------------------------------------------------------+" >> $MESSAGE

grep -i "`date --date='yesterday' '+%b %e'`" /var/log/messages | awk '{ $3=""; print}' | egrep -wi 'warning|error|critical' >>  $MESSAGE

mail -s "$SUBJECT" "$TO" < $MESSAGE

#rm $MESSAGE

fi

设置文件的可执行权限os-log-alert.sh。

$ chmod +x /opt/scripts/os-log-alert.sh

最后添加一个cronjob以使其自动化。它将每天早上7点运行。

# crontab -e

0 7 * * * /bin/bash /opt/scripts/os-log-alert.sh

注意:您每天都会在7点收到电子邮件警报,该警报基于前一天的日志。

输出:您将收到类似于以下的电子邮件警报。

ATTENTION: Errors are found in /var/log/messages. Please Check with Linux admin.

+-----------------------------------------------------+

Error messages in the log file as below

+-----------------------------------------------------+

Jul  3 02:40:11 ns1 kernel: php-fpm[3175]: segfault at 299 ip 000055dfe7cc7e25 sp 00007ffd799d7d38 error 4 in php-fpm[55dfe7a89000+3a7000]

Jul  3 02:50:14 ns1 kernel: lmtp[8249]: segfault at 20 ip 00007f9cc05295e4 sp 00007ffc57bca1a0 error 4 in libdovecot-storage.so.0.0.0[7f9cc04df000+148000]

Jul  3 15:36:09 ns1 kernel: php-fpm[17846]: segfault at 299 ip 000055dfe7cc7e25 sp 00007ffd799d7d38 error 4 in php-fpm[55dfe7a89000+3a7000]

Jul  3 15:45:54 ns1 pure-ftpd: (?@5.188.62.5) [WARNING] Authentication failed for user [daygeek]

Jul  3 16:25:36 ns1 pure-ftpd: (?@104.140.148.58) [WARNING] Sorry, cleartext sessions and weak ciphers are not accepted on this server.#012Please reconnect using TLS security mechanisms.

Jul  3 16:44:20 ns1 kernel: php-fpm[8979]: segfault at 299 ip 000055dfe7cc7e25 sp 00007ffd799d7d38 error 4 in php-fpm[55dfe7a89000+3a7000]

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任

linux查看告警日志,shell脚本,用于监视Linux中的消息日志(警告,错误和严重)...相关推荐

  1. linux下实现内存监视,shell脚本来监视Linux上的内存使用情况

    shell脚本来监视Linux上的内存使用情况 监视所有内容,例如CPU利用率,内存利用率,交换利用率,磁盘空间利用率等等. 如果您只有很少的系统并且要监视它们,那么编写一个小的Shell脚本可以使您 ...

  2. linux查看告警日志,linux怎么查看硬件告警

    想知道怎么查看Linux中的硬件告警吗?下面是学习啦小编带来的关于linux怎么查看硬件告警的内容,欢迎阅读! Linux查看硬件告警方法一: Linux系统拥有非常灵活和强大的日志功能,可以保存几乎 ...

  3. linux查看命令本身shell脚本的路径

    使用type命令,输入: type tshark 可以查看tshark脚本的路径:tshark is /usr/local/bin/tshark 或使用which命令: which tshark 得出 ...

  4. 【Linux命令行与Shell脚本编程】三,Linux文件系统

    Linux命令行与Shell脚本编程 第三章 Linux文件系统 文章目录 Linux命令行与Shell脚本编程 三.Linux文件系统 3.1,查看文件 3.1.1,ls 命令 选项和参数 3.1. ...

  5. Shell 脚本来监控 Linux 系统的内存

    一.安装Linux下面的一个邮件客户端Msmtp软件(类似于一个Foxmail的工具) 1.下载安装:http://downloads.sourceforge.net - 206451&big ...

  6. 《Linux命令行与shell脚本大全》笔记

    初识Linux Shell 什么是Linux Linux可划分为以下四部分: Linux内核 GNU工具 图形化桌面环境 应用软件 深入探究Linux内核 内核主要负责以下四种功能: 系统内存管理 软 ...

  7. 【2018深信服 醒狮计划】《Linux命令行与Shell脚本编程大全》学习笔记

    2018深信服"醒狮计划"笔记 第3周(5.02-5.13) 课程 必修 选修 基本要求 Shell编程 <Linux命令行与Shell脚本编程大全> <Perl ...

  8. Linux命令行与shell脚本编程大全:第2版

    <Linux命令行与shell脚本编程大全:第2版> 基本信息 作者: (美)布卢姆(Blum,R.) 布雷斯纳汉(Bresnahan.C.) [作译者介绍] 译者: 武海峰 丛书名: 图 ...

  9. 《Linux命令行与Shell脚本编程大全第2版.布卢姆》pdf

    下载地址:网盘下载 内容简介  · · · · · · 本书是一本关于Linux 命令行与shell 脚本编程的全面教程.全书分为四部分:第一部分介绍Linuxshell 命令行:第二部分介绍shel ...

最新文章

  1. 技术社区,你真的会混吗?
  2. 数据结构实验之链表一:顺序建立链表(SDUT 2116)
  3. Windows server 2008文件服务器之二屏蔽影音文件以及指定文件名
  4. 深度学习(25)随机梯度下降三: 激活函数的梯度
  5. 基于JQuery实现滚动到页面底端时自动加载更多信息
  6. 378. 有序矩阵中第K小的元素
  7. 信息学奥赛一本通(1076:正常血压)
  8. 2010年3月份第二周51aspx发布源码
  9. @程序员,京东面试官让你谈谈注册中心的问题!
  10. .NET CLR之垃圾回收(GC)
  11. 云服务器远程桌面复制
  12. 购票系统c语言座位分配,铁路购票系统的简单座位分配算法
  13. mac java环境变量验证_Mac系统 JAVA环境变量配置
  14. xctf攻防世界 MISC高手进阶区 flag_universe
  15. 36种漂亮的CSS3网页按钮Button样式
  16. 怎么安装原版win8系统?U盘安装原版win8系统方法
  17. PhysX碰撞检测之onContact和onTrigger
  18. 链游Illuvium即将上线:自动战斗P2E NFT收藏游戏
  19. 邱姓女孩五行缺水取名
  20. python入门培训课程

热门文章

  1. 关于iis中的网站,在ie下点击服务器控件无反应的问题
  2. Linux下常见文件解压方法及命令
  3. 23种设计模式C++源码与UML实现--访问者模式
  4. 单片机文件系统的学习
  5. 通过一道题目来理解互斥和同步
  6. “7th-place-solution-microsoft-malware-prediction”——kaggle微软恶意代码检测比赛第七名代码
  7. angular-js资料收集
  8. 对EditText右边的图片进行监听
  9. 程序员面试系列——单链表的反转
  10. 百度浏览器支持html5,百度手机浏览器完美驾驭HTML5