方法自体は大したことやってないのですが、備忘録として書いておきます。
メールの通知先がGmailの場合は、先日書いた以下の記事も参考にしてください!
taiyakisun.hatenablog.com
手順
RAIDシステム状態を確認するスクリプト
以下のperlスクリプトを、メールアドレス部分を自身のものに書き換えてから任意のファイルに保存します。
なお、perlが入ってない人はyum等でインストールしてください。
#!/bin/perl use strict; my @mdstat_lines = `cat /proc/mdstat`; my $mdstat_len = @mdstat_lines; my $mail_msg; for ( my $i=1; $i < $mdstat_len; ) { if ( ($mdstat_lines[$i] eq "") or ($mdstat_lines[$i] =~ /Personalities/) ) { ++$i; next; } if ( $mdstat_lines[$i] =~ /unused devices/ ) { # The last line of the mdstat output. last; } if ( !($mdstat_lines[$i] =~ /([a-zA-Z0-9]+) : .+/g) or !defined($1) ) { ++$i; next; } my $id = $1; # Going to next line. ++$i; if ( !($mdstat_lines[$i] =~ /blocks .+ \[([U_][U_])\]/g) or !defined($1) ) { ++$i; next; } my $status = $1; if ( $status ne "UU" ) { $mail_msg .= "Warning. RAID1 disks(" . $id . ") may have some errors(" . $status . ").\n"; } ++$i; } if ( $mail_msg ne "" ) { open FH,'|mail -s "[Warning] Home server RAID system errors have been detected." mygmailaddress@gmail.com' or die; print FH $mail_msg; close FH; }