
次のcrontabがあります。
0 8 * * * command >> mylog.log 2>&1
これにより、エラーと標準出力が mylog.log に追加されます。
上記に加えて、最新の出力のみをキャプチャして、次の方法command
で私の電子メールで送信できることを願っています。
mail -s 'test' [email protected]
つまり、すべての出力をログに記録し、新しい出力のみを電子メールで送信します。
Tシャツを読みましたが、これが答えかもしれないという内容が示されていますが、100%確信することはできません。
答え1
同僚と確認した結果、解決策は非常に簡単でした。スクリプトをいくつかの部分に分けてください。これらの部分をシェルスクリプトに入れます。
#!/bin/sh
# write truncated log to temp.log
command > temp.log 2>&1
# mail contents of truncated log
mail -s 'test' [email protected] < temp.log
# append contents of truncated log to your primary log
cat temp.log >> mylog.log
次に、bashスクリプトをインポートしてcrontabで実行します。
0 8 * * * bash mysh.sh