スクリプトで生成されたファイルがありますが、.を使用すると、cat
そのファイルを添付ファイルとして送信しようとすると正しく表示されません。以下に示すものと同じです。
^[[33m================================================================================^[[m
^[[34m172.29.0.110^[[m
^[[33m================================================================================^[[m
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos 109G 13G 91G 13% /
/dev/mapper/mpatha 1.6T 1.3T 277G 83% /var/lib/SQL
^[[33m================================================================================^[[m
^[[34m172.29.8.110^[[m
^[[33m================================================================================^[[m
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos 117G 9.1G 102G 9% /
/dev/mapper/mpatha 1.6T 1.4T 109G 93% /var/lib/SQL
^[[33m================================================================================^[[m
^[[34m172.29.16.110^[[m
^[[33m================================================================================^[[m
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos 117G 18G 94G 17% /
/dev/mapper/VG01-LV 1.5T 812G 590G 58% /var/lib/SQL
^[[33m================================================================================^[[m
^[[34m172.29.26.110^[[m
^[[33m================================================================================^[[m
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/LogVol02 117G 22G 90G 20% /
/dev/mapper/mpathm 1.6T 1.1T 435G 71% /var/lib/SQL
ファイルを生成するスクリプト(スクリプトの一部)は次のとおりです。
for IP in $(cat file.txt); do
(echo -e "\e[33m$LINE\e[m"
echo -e " \e[34m$IP\e[m "
echo -e "\e[33m$LINE\e[m"
echo -e "Filesystem\t\tSize\tUsed\tAvail\tUse%\tMounted\ton"
ssh $SSH_ARG -q user@${IP} "df -Ph | egrep -iv 'filesystem|boot|tmpfs'") >> /disk_${DATE}_log
echo -e "\e[33m$LINE\e[m"
echo "Successful for $IP"
done
cat disk_${DATE}_log | mail -s "Disk space" [email protected]
色を生成するアイテムを削除できますが、echo
このファイルをメールで正しく送信する方法があるのか、それともメールコマンドでこの問題を解決する方法があるのか疑問に思います。
答え1
次の要求された操作を実行できます。
ファイル変換ANSIカラーエスケープHTMLで、そして
生成されたHTMLファイルを添付ファイルとして送信します。
コマンドラインmail
(またはmailx
)プログラムはこの場合あまり役に立ちませんが、さまざまなバージョンがあります(例:Mailx は HTML メッセージを送信します。)。ただし、使用しているメールの特定の実装を知らなくても、他の(より予測可能な)ツールはうまく機能する可能性があります。
mutt
適切なビューアを使用してHTML添付ファイルを表示するように多くのメールクライアント(たとえば)を設定できます。例えばMuttを使用してHTMLメールを読む。
変換には、次のスクリプト/プログラムがあります。「ansi2html」という名前が複数。そのうちの1つにコメントしました。画面ログをhtmlに変換、これはあなたに役立ちます(参照スクリプトへのリンク)。
添付ファイルを送信すると単純化できないことを覚えておいてください管路データはメールクライアントに送信され、コマンドラインパラメータはさまざまです。いくつかの議論はmutt
次の点に焦点を当てています。Linuxコマンドラインを使用してファイルを電子メールの添付ファイルに送信する方法は?