Shell指令碼實驗之郵件報警相關實驗

2021-10-23 20:32:02 字數 2603 閱讀 9420

寫乙個shell指令碼,通過curl -i 返回狀態碼來判定所訪問的**是否正常,比如當**狀態200,才算正常

寫乙個發郵件的指令碼

(1) 建立觸發器及郵件報警測試

【安裝郵件元件】

root@cwj ~]

# wget

[root@cwj ~]

# tar -zxvf sendemail-v1.56.tar.gz

[root@cwj ~]

# cp sendemail-v1.56/sendemail /usr/local/bin/

[root@cwj ~]

# chmod 755 /usr/local/bin/sendemail

[root@cwj ~]

# vi /opt/sendemail.sh

#!/bin/bash

## filename: sendemail.sh

# revision: 1.0

# date: 2019/05/29

# author: qicheng

# email:

# website:

# description: tang郵件告警指令碼

# notes: 使用sendemail

## 指令碼的日誌檔案

logfile=

"/tmp/email.log"

:>

"$logfile"

exec 1>

"$logfile"

exec 2>

&1smtp_server=

'smtp.qq.com'

# smtp伺服器,變數值需要自行修改

username=

'***x@qq.com'

# 使用者名稱,變數值需要自行修改

password=

'password'

# 密碼(qq郵箱用的是授權碼),變數值需要自行修改

from_email_address=

'***x@qq.com'

#### 發件人email位址,變數值需要自行修改

to_email_address=

"$1"

# 收件人email位址,tang傳入的第乙個引數

message_subject_utf8=

"$2"

# 郵件標題,tang傳入的第二個引數

message_body_utf8=

"$3"

# 郵件內容,tang傳入的第三個引數

# 轉換郵件標題為gb2312,解決郵件標題含有中文,收到郵件顯示亂碼的問題。

message_subject_gb2312=

`iconv -t gb2312 -f utf-8 <<

eof$message_subject_utf8

eof`

[$? -eq 0 ]

&& message_subject=

"$message_subject_gb2312"

|| message_subject=

"$message_subject_utf8"

# 轉換郵件內容為gb2312,解決收到郵件內容亂碼

message_body_gb2312=

`iconv -t gb2312 -f utf-8 <<

eof$message_body_utf8

eof`

[$? -eq 0 ]

&& message_body=

"$message_body_gb2312"

|| message_body=

"$message_body_utf8"

# 傳送郵件

sendemail=

'/usr/local/bin/sendemail'

set -x

$sendemail -s "$smtp_server" -xu "$username" -xp "$password" -f "$from_email_address" -t "$to_email_address" -u "$message_subject" -m "$message_body" -o message-content-type=text -o message-charset=gb2312

[root@cwj ~]

# chmod +x /opt/sendemail.sh

[root@localhost ~]

# vim /opt/123.sh

#!/bin/bash

url=

'www.51xit.top'

sta=

`curl -i $url 2>/dev/null |

head -1 |

awk''`if

[$sta

!="200"

]then

/opt/sendemail.sh ***x@qq.com "$url down"

"$url down"

fi[root@localhost ~]

# chmod +x /opt/123.sh

[root@localhost ~]

# /opt/123.sh

zabbix郵件報警指令碼

zabbix郵件報警指令碼 對於目前的運營商來說,25埠基本上被禁用了,只能使用ssl tls加密協議來發收郵件,對於zabbix來說郵件報警還是比較常用的,下面為報警指令碼,親測時可以正常收到郵件的,可以先進行測試是否能正常收到郵件在正式配置到zabbix上。以163郵件為例 1 2 3 4 5 ...

zabbix郵件報警指令碼

指令碼一 sendemail.sh bin bash logfile tmp email.log logfile exec 1 logfile exec 2 1smtp server smtp.163.com 改為自己163郵箱位址 username 163.com 改為自己163郵箱的授權碼 pa...

zabbix郵件報警指令碼 簡單版

配置zabbix主配置檔案 新增報警媒介 usr bin env python coding utf8 script name sendmail.py import smtplib import sys smtp server smtp.sina.com smtp伺服器,我用的是sina的,所以是s...