LoginSignup
1
0

More than 1 year has passed since last update.

ZFSの異常検知時にメール送信するスクリプト

Posted at

ZFSの異常検知

今回、紹介するスクリプトは以下のような機能を持っています。

スクリプトの概要

  • zpool statusコマンドの結果から異状を判断する
  • 異常検知した場合、コマンドの出力結果をメール本文に乗せて送信する
    • メール送信は、sendmailコマンドを使用します
    • sendmailコマンドの設定は調べてください
  • 定期監視する場合は、cronで定期実行すれば良いです

スクリプトの内容

#!/bin/bash

if [ "`env LC_ALL=C zpool status -x`" != 'all pools are healthy' ]
then
    filename=$(date '+%F')zfs_errors_text_ksofda.txt # 適当な一時ファイル名を指定

    srtFrom="From: aaa@xxx.xxx" # 送信元のメールアドレスを設定
    srtTo="To: bbb@yyy.yyy" # 送信先のメールアドレスを設定
    srtSubject="Subject: Error ZFS is not healthy!!"
    srtText=`env LC_ALL=C zpool status`
    touch /tmp/$filename
    echo $srtFrom >> /tmp/$filename
    echo $srtTo >> /tmp/$filename
    echo $srtSubject >> /tmp/$filename
    echo >> /tmp/$filename

    IFS_BACKUP=$IFS
    IFS='
'
    i=0
    for L in $srtText
    do
        i=`expr $i + 1 `
        echo -e $L >> /tmp/$filename
    done
    IFS=$IFS_BACKUP

    /usr/sbin/sendmail -t < /tmp/$filename
    rm /tmp/$filename
fi

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0