使用 crontab 配置 Sendmail 主题

使用 crontab 配置 Sendmail 主题

我的 cron 作业正在运行以下行:

*/40 * * * * cd /home/qa/prod/seo/casino &&  make testv   2> /dev/stdout | /usr/sbin/sendmail -t [email protected]

如您所见,我正在使用 sendmail 包。我没能找到如何将主题添加到当前正在运行的 cron 计划中。

我遇到过以下情况:

echo "Subject: Testing" | cat - /home/file1.out | /usr/sbin/sendmail -t [email protected]

但是,我不知道在这种情况下“cat - /home/file1.out”管道起什么作用,或者如何将它与我自己的管道集成。

非常感谢您的帮助!

答案1

cat - /home/file1.out为邮件正文。

-在这种情况下表示 STDIN,cat 的 STDIN。

[sgeorge@sgeorge-ld ~]$ echo "Subject: Testing" | cat - file 
Subject: Testing
TESTING TESTING
[sgeorge@sgeorge-ld ~]$ echo "Subject: Testing" | cat file 
TESTING TESTING

事实上你实际上并不需要它:

[sgeorge@sgeorge-ld ~]$ cat test 
Subject: Testing
TESTING TESTING
[sgeorge@sgeorge-ld ~]$ cat test | /usr/sbin/sendmail -t [email protected]

上述方法也与下面的方法相同

echo "Subject: Testing" | cat file | /usr/sbin/sendmail -t [email protected] 

为了进一步理解:

[sgeorge@sgeorge-ld ~]$ echo "Subject: Testing" | cat file -
TESTING TESTING
Subject: Testing
[sgeorge@sgeorge-ld ~]$ echo "Subject: Testing" | cat - file 
Subject: Testing
TESTING TESTING

所以这里-只是一个STDIN

答案2

in告诉-catcat -从管道读取内容并将其打印到标准输出,这echo "Subject:Testing " | cat - /home/files1.out意味着将“主题:测试”与 files1.out 的内容相结合。

相关内容