安排发送日志文件内容的邮件

use*_*215 6 mail 9.10 cron postfix log

我安装了postfix邮件代理并配置了 gmail 中继,我可以从终端发送邮件,如下所示:

root@statino1:~# mail -s "subject_here" my_gmail_id@gmail.com
CC: <hit enter for empty cc>

Type the mesage here
press Ctrl+d
Run Code Online (Sandbox Code Playgroud)

我必须将日志文件内容作为邮件发送并安排它每天运行。

如何将日志文件内容作为邮件消息发送,如何自动输入mail命令?以便我可以安排它。有人有什么想法吗?

Ste*_*zzo 5

您可以使用如下命令发送电子邮件:

mail -s 'Subject' you@example.com  < log.txt
Run Code Online (Sandbox Code Playgroud)

mail期望输入流,如果没有,则获取标准输入(即让您输入内容)。该<运营商(UNIX文件流)告诉邮件读取文件中的内容,而不是的/ dev /标准输入(这仅仅是一个文件以及)。

添加附件似乎有点困难:


如果要检查文件是否为空,可以进行如下测试:

if [ -s test.txt ];
then
    echo "file is not empty";
fi
Run Code Online (Sandbox Code Playgroud)

所以你的命令看起来像这样:

if [ -s log.txt ]; then mail -s 'Subject' you@example.com  < log.txt; fi
Run Code Online (Sandbox Code Playgroud)