stdout + stderrを正しい順序でファイルに書き込みながら、cronはstderr出力のみをメールで送信したいと思います。
Tシャツはなんだかこれで遊んだのですが、何か少し合いません...
コマンドをシェルスクリプトでラップします。
良い
#!/bin/bash
mycommand | maybe_some_shell_redirect_magic >> /var/log/mycommand.log
ベストアンサー1
私はこれが可能だと思います。行の順序を維持しながら(つまり、stderrはそれを作成するプロセス内でコピーされます)、POSIXシェルを使用しても同様です。努力する:
#!/bin/sh
exec 3>log
command args ... 2>&1 >&3 |while read err; do
echo "$err" >&2
echo "$err" >&3
done