Xeon E5-2620 v4 (8コア) x 2
32GB RAM
CentOS 6.8 (64bit)
6CPUで合計2000分程度かかる処理をしている。
その処理が終わったかどうかはターミナルを見れば確認できるが、メール連絡できると便利ではないかと思った。
コマンド
参考 http://www.simplehelp.net/2008/12/01/how-to-send-email-from-the-linux-command-line/
上記を参考に以下のようなコマンドを実行してみた。
(user@software.com
の部分は自分のメールアドレスにする)。
echo "test" | mail -s "subject" user@software.com
send-mail: fatal: parameter inet_interfaces: no local interface found for ::1
fatal parameterエラーの対処
上記のエラーの対処は以下に見つけた。
情報感謝です。
http://okisanjp.hatenablog.jp/entry/2016/06/22/162922
メール送信してみた
エラーの対処をしてから再度以下のようなコマンドを自分のメールアドレス(gmail)宛に送った。
echo "test" | mail -s "subject" user@software.com
1回目のメールは「迷惑メール」に認識された。
迷惑メールでないという設定にした以降は「受信トレイ」に配信されるようになった。
使いどころ
以下のようにコマンドを連結して使う。
$ mpirun -np 6 ./wrf.exe && echo "fin" | mail -s "WRF finished" user@software.com
処理が終わった段階でメールが来る(はず)。
メールが届いた。思ったよりも処理が速かった。
ファイル内容をメール内容にする
rsl.out.0000
というテキストファイルが作成されると仮定。
$ mpirun -np 6 ./wrf.exe && cat rsl.out.0000 | mail -s "WRF finished" user@software.com
これで到着するメールの内容がrsl.out.0000になる。
添付ファイルを付ける
rsl.out.0000
というテキストファイルが作成されると仮定。
$ mpirun -np 6 ./wrf.exe && echo "fin" | mail -a rsl.out.0000 -s "WRF finished" user@software.com
これでrsl.out.0000
という名前の添付ファイルが付いたメールが到着するようになる。
メールの受け手で処理の内容が分かるようになり便利かもしれない。
注意点 > 処理失敗時にはメールも届かない
$ mpirun -np 6 ./wrf.exe && echo "fin" | mail -a rsl.out.0000 -s "WRF finished" user@software.com
上記のようにした場合、./wrf.exeの処理が途中でエラーとなった場合、終了メールは(当然)到着しない。