在 at/batch 的手册页中,它说
The user will be mailed standard error and standard output from his
commands, if any. Mail will be sent using the command /usr/sbin/sendmail.
If at is executed from a su(1) shell, the owner of the login shell will
receive the mail.
但是如何配置发送到哪个电子邮件地址?
在 cron 中可以使用 MAILTO 环境变量,但在at
或中的任何地方都看不到它batch
。
答案1
我没有看到在 at 调用中执行此操作的方法,但您可能可以使用通过 at 调用的命令执行类似的操作:
$ at 16:00
at> some-command [arguments, &c.] 2>&1 | sendmail [-f <from-address>] <recipient>
at> ^D
当命令运行时,它会将其输出交给 sendmail 以传递给指定的收件人,并且在我刚刚运行的快速测试中,这确实有效。
当然,如果您已经将某个命令的输出重定向到其他地方,那么您可能会不走运——但是,您可以随时 tee(1) 输出,或者在 at 作业中添加最后一行来调用 sendmail 以推出消息。