linuxコマンドで添付ファイル付きメール送信

データセンターなんかで作業をしていると、ログなどを持ち帰って解析したいことがある。

mail -s "logs" foo@example.com < /var/log/httpd/error_log

などのようなコマンドを実行すれば、単純なテキストファイルなら送信可能だが、圧縮データなどのバイナリを添付ファイルとして送信したいことがある。

そのような場合は、以下のようなコマンドを実行する。

uuencode path2file filename | mail -s "attach file" foo@example।com

uuencodeコマンドが無い場合は、redhat系なら以下のコマンドを実行してインストールする。

yum install sharutils

ひとつひとつのコマンドだけ見ると存在価値が分からないけど、パイプでつなげるとなるほどと思う今日この頃。

ちなみにLinuxサーバー構築承ります。