crond實現郵件告警

實驗環境:centos 6.8

所需軟件:mailx或msmtp或smtpEmail等 smtp客戶端程序

所需帳號:我這使用的是163郵箱。

本方案優點:安裝軟件少,無須啟動postfix等郵件服務。無須配置postfix郵件服務。由于調用的是注冊郵箱,所以也不會給移入到垃圾郵件中。 

建議:生產中,不管是什么服務發送郵件的建議使用外部smtp帳號,不會導致移入到垃圾郵件列表中。

需求環境:由于我們線上腳本過多,而且也沒有報警警告,所以無法獲取其執行情況。導致最后老板發現,結果懂的。

然后與開發溝通,運維這邊無法保證腳本的邏輯性錯誤,只能保證代碼是否執行。代碼邏輯性錯誤需要在腳本中判斷并STDERR輸出。

我是安裝的mailx來實現的,過程簡單。

安裝mailx:yum -y install mailx

安裝完成后會生成mail命令。

執行一次mail命令會生成 /etc/mail.rc 文件。

編輯/etc/mail.rc    在最后一行添加

set from=FromUser@163.com

set smtp=smtp.ym.163.com

set smtp-auth-user=AuthUser@163.com

set smtp-auth-password=PASSWORD

set smtp-auth=login

測試是否正常收發郵件

echo "123456" | mail -s "報警" AuthUser@163.com

如果正常,那么就會收到一份郵件

配置腳本:

mv /usr/sbin/sendmail{,.bak}vim /usr/sbin/sendmail    #!/bin/bash    #    MAIL=`cat -`    echo $MAIL | mail -s "警告" AuthUser@163.com

配置完成。

測試:

crontab -e*/1 * * * * echo "1"

添加一行輸出,那么1分鐘后就可以收到報警郵件了。

原理:

crond計劃任務執行任務后,標準輸出,錯誤輸出都會輸入到屏幕。

如果定義了MAILTO變量(在/etc/crontab已經定義),就會調用/usr/sbin/sendmail發送郵件。

crond傳遞格式如下:

From: root (Cron Daemon) To: root Subject: Cron <root@opsnote> echo "1" Content-Type: text/plain; charset=UTF-8 Auto-Submitted: auto-generatedX-Cron-Env: <LANG=en_US.UTF-8> X-Cron-Env: <SHELL=/bin/sh> X-Cron-Env: <HOME=/root> X-Cron-Env: <PATH=/usr/bin:/bin> X-Cron-Env: <LOGNAME=root> X-Cron-Env: <USER=root> 1

那個腳本的的作用就是截取這些內容,然后調用mail命令將這些內容發送出去。

思路提供完畢。希望能舉一反三。

如有疑問可以聯系:root@opsnote.com

原創文章,作者:SSA,如若轉載,請注明出處:http://www.www58058.com/23256

(0)
SSASSA
上一篇 2016-07-10 01:03
下一篇 2016-07-10 12:16

相關推薦

  • 文本處理及正則表達式

    文本處理工具:     more:分頁查看文件     less:分頁控制顯示文件     head 查看文件的前幾行         -n 3   顯示前三行      &nbs…

    Linux干貨 2017-05-31
  • 集中練習3

    用戶管理、文本處理、文件管理相關

    2017-09-20
  • 簡單shell腳本編程示例

    1、編寫腳本/root/bin/systeminfo.sh,顯示當前主機系統信息,包括主機名,IPv4地址,操作系統版本,內核版本,CPU型號,內存大小,硬盤大小。 腳本內容: 執行結果: 2、編寫腳本/root/bin/backup.sh,可實現每日將/etc/目錄備份到/root/etcYYYY-mm-dd中 腳本內容: 執行結果: 3、編寫腳本/roo…

    Linux干貨 2016-08-15
  • 第二周作業

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示 答:針對文件常用的命令有如下幾大類: a)文件創建命令 touch       touch /path/filename  —-新建一個空的文件 b)文件復制命令 cp       cp /path1/…

    Linux干貨 2016-11-19
  • 腳本數組及yum軟件包管理器

    一、數組 變量:存儲單個元素的內存空間 數組:存儲多個元素的連續的內存空間,相當于多個變量的集合。 數組名和索引索引:編號從0開始,屬于數值索引注意:索引可支持使用自定義的格式,而不僅是數值格式,即為關聯索引,bash4.0版本之后開始支持。bash的數組支持稀疏格式(索引不連續) 1.定義數組聲明數組:    declare …

    Linux干貨 2016-08-25
  • M20-1 8月3號作業

    1、三種權限rwx對文件和目錄的不同意義 2、umask和acl mask 的區別和聯系 3、三種特殊權限的應用場景和作用 4、設置user1,使之新建文件權限為rw——- 5、設置/testdir/f1的權限,使user1用戶不可以讀寫執行,g1組可以讀寫 /testdir/dir的權限,使新建文件自動具有acl權限:user1:r…

    Linux干貨 2016-08-05
欧美性久久久久