bash 将日志文件作为邮件内容发送的脚本,格式化(特定颜色编码)
bash script to send the log file as mail content, formatted (specific color coding)
cat run_summary.txt | unix2dos | mail -s "summary log" email_id@gmail.com
此命令将邮件作为邮件正文发送。但是,它没有格式化。 run_summary.txt 有带列的行,但在电子邮件中它与在日志文件中不同。日志文件的格式如下。
below is the summary of log files:
#empty line
date time mon
12 09 jan
07 22 apr
不需要cat
命令。您应该将文件重定向到 mail
命令。
此外,unix2dos
命令可以处理文件,而不是字符串。在您的情况下, unix2dos
命令由于 cat
命令而获得一个字符串。请阅读 unix2dos
命令的手册页:https://linux.die.net/man/1/unix2dos
示例:
mail -s "summary log" my_mail@gmail.com < run_summary.txt
如果你真的需要unix2dos
命令那么你可以这样做:
unix2dos run_summary.txt && mail -s "summary log" my_mail@gmail.com < run_summary.txt
仅供参考:
在上面的示例中,run_summary.txt
文件中的原始内容将被覆盖。如果你想创建一个新文件,你应该使用 -n
标志。
例如:
Convert a.txt and write to e.txt.
unix2dos -n a.txt e.txt
我使用了和你一样的txt文件,邮件内容如下:
date time mon
12 09 jan
07 22 apr
cat run_summary.txt | unix2dos | mail -s "summary log" email_id@gmail.com
此命令将邮件作为邮件正文发送。但是,它没有格式化。 run_summary.txt 有带列的行,但在电子邮件中它与在日志文件中不同。日志文件的格式如下。
below is the summary of log files:
#empty line
date time mon
12 09 jan
07 22 apr
不需要cat
命令。您应该将文件重定向到 mail
命令。
此外,unix2dos
命令可以处理文件,而不是字符串。在您的情况下, unix2dos
命令由于 cat
命令而获得一个字符串。请阅读 unix2dos
命令的手册页:https://linux.die.net/man/1/unix2dos
示例:
mail -s "summary log" my_mail@gmail.com < run_summary.txt
如果你真的需要unix2dos
命令那么你可以这样做:
unix2dos run_summary.txt && mail -s "summary log" my_mail@gmail.com < run_summary.txt
仅供参考:
在上面的示例中,run_summary.txt
文件中的原始内容将被覆盖。如果你想创建一个新文件,你应该使用 -n
标志。
例如:
Convert a.txt and write to e.txt.
unix2dos -n a.txt e.txt
我使用了和你一样的txt文件,邮件内容如下:
date time mon
12 09 jan
07 22 apr