Centos7ネットワーク監視スクリプト、メール電子メール警告

免責事項:この記事はブロガーオリジナル記事ですが、許可ブロガーなく再生してはなりません。https://blog.csdn.net/tladagio/article/details/88739719

書き込みのpingスクリプトは自動的に電子メール警告を送信するためにスケジュールされたタスクと組み合わせて、ネットワークの状態を検出し、

システムバージョン

[root@localhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core)

あなたは、削除まず、パッケージに付属しているメールシステムを使用しない場合

#rpm -qa |grep mailx sendmail
#rpm -e xxx

、yumの依存関係をインストール

[root@localhost ~]# yum install -y mailx
[root@localhost ~]# yum install -y sendmail
[root@localhost ~]# yum install -y sendmail-cf

第二に、設定sendmail.mc

[root@localhost ~]# vim /etc/mail/sendmail.mc 

これの冒頭に二つはsendmailのファイルで削除DNL、DNLのコメントは、適切な設定を開きDNL行を削除するためのものです

変更

任意のホストがsendmailサービスにアクセスできることを意味し、ここで127.0.0.1の代わりに0.0.0.0、

変更

その後、保存して終了

第三に、設定ファイルを生成

[root@localhost ~]# m4 /etc/mail/sendmail.mc  > /etc/mail/sendmail.cf 

システムはm4のコマンドを認識しない場合は、パッケージでは、sendmail-CFをインストールされていません。M4ツールパッケージのsendmail-CF

第四に、メールの設定を送信

[root@localhost ~]# vim /etc/mail.rc 

、最後に=記号の前後に空白を挿入コンテンツを追加していません

set from=发送人名称
set smtp=smtp.163.com
set smtp-auth-user=用户名
set smtp-auth-password=163邮箱的授权码
set smtp-auth=login

第五に、起動またはsendmailを再起動します

systemctl restart sendmail       #重启sendmail服务
systemctl status sendmail        #查看sendmail服务状态
systemctl enable sendmail       #设置endmail服务开机自启

シックス・テスト

[root@localhost ~]# echo "hello world" | mail -s "test" 邮箱@qq.com

 

七、検出スクリプトを書きます

[root@localhost ~]# vim mail.sh
#!/bin/bash

#Network Checking script

iplist="114.114.114.114 10.1.1.1" #需要监控的IP地址池

for ip in $iplist

do

  if ping -I ens32 -c 20 $ip >iplog.txt;cat iplog.txt | grep -w '0% packet loss'
#ens32本机网卡
  then

      rm -f iplog.txt

      echo $ip line is ok 

  elif

     cat iplog.txt | grep -w '100% packet loss'

  then

      rm -f iplog.txt

      echo "$ip line is down! The time is `date`" | mail -s "Network Check Warning!"  [email protected]  #接收人邮箱

  fi

done

実行権限を追加します。

[root@localhost ~]# chmod 777 mail.sh 

タスクのスケジュール八回の追加、テストごとに2分

[root@localhost ~]# pwd
/root
[root@localhost ~]# ll
-rwxrwxrwx. 1 root root  446 Mar 22 04:32 mail.sh
[root@localhost ~]# crontab -e
*/2 * * * * /root/mail.sh

九、検証結果

 

おすすめ

転載: blog.csdn.net/tladagio/article/details/88739719