
На странице руководства 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 для доставки указанному получателю, и в быстром тесте, который я только что провел, это действительно работает.
Конечно, если вы уже перенаправляете вывод из some-command куда-то еще, вам может не повезти, но тогда вы всегда можете tee(1) для вывода или добавить последнюю строку в задание at, вызывающее sendmail, чтобы отправить сообщение.