Linux監視Webサービスや電子メール警告

著作権:コードワードは容易ではない、ソースを明記してください~~ https://blog.csdn.net/m0_37190495/article/details/91438699
再現、ソースを明記してください:
:オリジナルはで始まる http://www.zhangruibin.com
から記事 RebornChangさんのブログ

Webサービスや電子メールアラートを監視

まず、私はLinuxオペレーティングシステムの下でメールを送ってみましょう。

電子メールを送信するには、Linuxオペレーティングシステム

単純にmailxを使用します。

1. mailxのをインストールします。

yum  install  mailx -y

2.テスト基本的なメール送信され

命令行: mail -s "theme" emailAddress,回车后输入内容按Ctrl+D发送邮件.
管道符: echo "mail main content" | mail -s "theme" emailAddress
文件内容作为邮件内容: mail -s "theme" emailAddress < /tmp/t.txt

sendEmail上の特定の設定などは、あなたは、次の2つのブログの記事を参照することができ、ここで言うことはできません。
https://www.cnblogs.com/liutao97/p/8387244.html
https://blog.csdn.net/lyf844692713 /記事/詳細/ 81479066

ファイルのURLを監視する3.書き込み

vim url

このようボーメインモニタとして、監視対象のURLを入力して2人のドメイン名であるため、ファイルの内容は以下のとおりです。

www.zhangruibin.com www.92cnb.com

4. monitor.shを監視するスクリプトを書きます

ネットワークから選ぶこのスクリプトでは、その変形(Baiduの指向プログラミング)の一部は、侵害あれば、ご連絡ください:

 #!/bin/bash
  #监控web服务并邮件提醒
  while true
  do
      Mail="[email protected]"
      FailCount=0
      Retval=0
      GetUrlStatus() {
                  for ((i=1;i<=3;i++))     #使用i++判断访问次数,如果wget两次超时则判断网站异常
                  do
                          wget -T 3 --tries=1 --spider ${1} >/dev/null 2>&1
                          #-T超时时间,--tries尝试1次,--spider蜘蛛
                          [ $? -ne 0 ] && let FailCount+=1;    #访问超时时,$?不等于0,则FailCount加1
                  done
                  Date=`date +%F" "%H:%M`
                  if [ $FailCount -gt 1 ];then
                          Retval=1
                          echo "check fail!!!,sendmail....."
                          ## 使用mutt
                          #echo -e "Date : $Date\nProblem : $url is not running." | mutt -s "web server Monitor" $Mail
                          echo "Date : $Date \n Problem :$url服务挂了" | mailx -v -s "服务监控提醒"  $Mail
  
                  else
                          Retval=0
                          echo "Date : $Date  $url is running."
                  fi
                  return $Retval        #如果返回值为0,就正常退出循环,不为0则继续循环
       }
       for url in `cat url | sed '/^#/d'`
       do
          #GetUrlStatus $url && echo yes || echo no
          GetUrlStatus $url
      done
      sleep 600           #死循环,设置每600s运行一次
  done

5.スクリプトを起動し、指定した出力ファイルmonitor.logにエコーされます

nohup sh monitor.sh >>monitor.log &

終了後6.ステータススクリプトの実行を表示するには再署名するためのシステム

ps -ef|grep monitor

结果:
root       454   328  0 03:00 pts/2    00:00:00 grep --color=auto monitor
root     27535     1  0 Jun10 ?        00:00:00 sh monitor.sh

7.レビューmonitor.logと電子メールの確認

cat monitor.log
结果:
Date : 2019-06-10 21:47  www.zhangruibin.com is running.
Date : 2019-06-10 21:47  www.92cnb.com is running.
Date : 2019-06-10 21:57  www.zhangruibin.com is running.
Date : 2019-06-10 21:57  www.92cnb.com is running.
Date : 2019-06-10 22:07  www.zhangruibin.com is running.
Date : 2019-06-10 22:07  www.92cnb.com is running.
Date : 2019-06-10 22:17  www.zhangruibin.com is running.
Date : 2019-06-10 22:17  www.92cnb.com is running.
Date : 2019-06-10 22:27  www.zhangruibin.com is running.
Date : 2019-06-10 22:27  www.92cnb.com is running.
Date : 2019-06-10 22:37  www.zhangruibin.com is running.
Date : 2019-06-10 22:37  www.92cnb.com is running.
Date : 2019-06-10 22:47  www.zhangruibin.com is running.
Date : 2019-06-10 22:47  www.92cnb.com is running.
Date : 2019-06-10 22:57  www.zhangruibin.com is running.
Date : 2019-06-10 22:57  www.92cnb.com is running.
check fail!!!,sendmail.....
[email protected]... Connecting to [127.0.0.1] via relay...
220 zhrb.localdomain ESMTP Postfix
>>> EHLO zhrb.localdomain
250-zhrb.localdomain
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
>>> MAIL From:<[email protected]> SIZE=304
250 2.1.0 Ok
>>> RCPT To:<[email protected]>
>>> DATA
250 2.1.5 Ok
354 End data with <CR><LF>.<CR><LF>
>>> .
250 2.0.0 Ok: queued as 5C4001D6E
[email protected]... Sent (Ok: queued as 5C4001D6E)
Closing connection to [127.0.0.1]
>>> QUIT
221 2.0.0 Bye

Eメールやメールを受信し、成功したかどうかを確認。

オーバー!

おすすめ

転載: blog.csdn.net/m0_37190495/article/details/91438699