Solaris:如何转发 cron 电子邮件?

Solaris:如何转发 cron 电子邮件?

如果一个计划任务作业产生输出,并通过电子邮件发送到用户的帐户。

我想将此电子邮件重定向到另一个电子邮件帐户。最好是在逐个用户的基础上。

我研究了其他帖子中经常提到的一些选项:

  1. 使用 cronMAILTO变量。行不通。 Solaris 不支持该功能。它是 Linux 的东西,也可能是 BSD 的东西,但肯定不存在于 Solaris 上。

  2. 使用该~/.forward文件。无法做到这一点。我怀疑这是因为这个文件确实与sendmail宇宙相关,并且我不确定 Solaris cron 是否实际用于sendmail发送其电子邮件。

为了弄清楚这一点,我想我需要准确了解 Solaris cron 发送电子邮件的机制。

任何人 ?

答案1

如果您想转发所有用户的邮件,而不仅仅是来自 Cron 的邮件,Solaris 确实支持~/.forward。 Solaris 还支持全局别名/etc/mail/aliases;如果修改此文件,则需要运行newaliases

如果你只想从 cron 转发邮件,你可以在~/.forward或中设置过滤器/etc/mail/aliases中设置过滤器。我不认为 Solaris 预装了任何有用的过滤工具;经典的程序是程序邮件。用作|/usr/local/bin/procmail您的过滤器,以及类似的内容作为您的~/.procmailrc(未经测试):

:0
* ^From: Cron Daemon <[email protected]>
* ^Subject: Cron .*
! [email protected]

或者,您可以从 crontab 显式邮寄作业的输出。安装更多实用程序(我不知道在Solaris下编译有多容易),其中包含一个ifne仅当其标准输入不为空时才执行程序的命令。

… 2>&1 | ifne mailx -s 'Cron output' [email protected]

答案2

我不记得 Solaris 有那么不同。

是否没有/etc/aliases文件(可能是 Solaris 上的不同位置?),您可以在其中简单地放置一对 from - to ?

之后newaliases应该激活更改。

答案3

代码发布于Solaris cron 忽略邮件别名?可以帮助澄清对于哪些人这仍然不起作用。

相关内容