コマンドの実行結果をメールで送信する方法

コマンド等の実行結果をメールで送信する方法です。

前提条件

前提条件として下記の項目が必要となります。

  • mailコマンドがインストールされている
  • 自サーバからメール送信が出来る環境が整っている

mailコマンドがインストールされていない場合

「mail」コマンドは「mailx」というパッケージに含まれているので、「yum」でインストールを行ってください。

# yum install mailx

コマンド実行結果をメールで送信する方法

パイプ(|)を使用して、コマンドの実行結果を「mail」コマンドに渡すことで結果をメールで送信することが出来ます。

書式

「mail」コマンドの「-s」オプションで件名を、「-r」オプションで送信元アドレスを指定することが出来ます。

「-r」オプションでの送信元アドレス設定は省略することもできますが、その場合コマンドを実行したユーザがメールの送信元となります。

コマンド | mail -s "件名" -r "送信元アドレス" "送信先アドレス"

実行例

実際に「df」コマンドの実行結果をメールで送信してみます。

$ df -h | mail -s "[$HOSTNAME] `date +%Y-%m-%d` df Report" -r "dfreport@server-memo.net" "tamohiko@server-memo.net"

今回は件名に「$HOSTNAME」でホスト名と「date +%Y-%m-%d」で年月日の情報を含めるようにしています。

送信されたメールの確認

件名にはホスト名と年月日の情報も記述されていて、本文には「df」コマンドの結果が記載されたメールが無事届きました。

シェアする