
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) するか、sendmail を呼び出す at ジョブに最後の行を追加してメッセージをプッシュすることができます。