如果一个计划任务作业产生输出,并通过电子邮件发送到用户的帐户。
我想将此电子邮件重定向到另一个电子邮件帐户。最好是在逐个用户的基础上。
我研究了其他帖子中经常提到的一些选项:
使用 cron
MAILTO
变量。行不通。 Solaris 不支持该功能。它是 Linux 的东西,也可能是 BSD 的东西,但肯定不存在于 Solaris 上。使用该
~/.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 忽略邮件别名?可以帮助澄清对于哪些人这仍然不起作用。