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

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

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

root@statino1:~# mail -s "subject_here" [email protected]
CC: <hit enter for empty cc>

Type the mesage here
press Ctrl+d

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

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

答案1

您可以使用这样的命令发送电子邮件:

mail -s 'Subject' [email protected]  < log.txt

mail期望输入流,如果没有,则获取标准输入(即它让你输入一些内容)。<操作符(unix file-stream)告诉 mail 读取文件的内容,而不是 /dev/stdin(它也只是一个文件)。

添加附件似乎有点困难:


如果你想检查文件是否为空,你可以做这样的测试:

if [ -s test.txt ];
then
    echo "file is not empty";
fi

因此你的命令看起来应该是这样的:

if [ -s log.txt ]; then mail -s 'Subject' [email protected]  < log.txt; fi

相关内容