OpenBSDで実行されているcrontabジョブの出力をどのように表示できますか?

OpenBSDで実行されているcrontabジョブの出力をどのように表示できますか?

私は10分ごとに実行されるいくつかのmtr()出力と一緒に1時間毎に実行されるcrontabタスクを持っていますtraceroute(これは電子メールで再送信される前に1時間以上続きます)、これまでのところ現在の進捗状況を見たいと思います。

Linuxでは、次のことができます。fdを開き、スクリプトの結果を含む一時ファイルにアクセスします。

OpenBSDでこれを行うにはどうすればよいですか?

これを試しましたが、一時fstat | fgrep -e USER -e cron -e mtrファイルがまったく見つかりませんでした。

ベストアンサー1

cronがジョブ出力メーリングを処理する方法のソースを調べました。

  • cron(8)mail(1)一時ファイルを残さずにstdoutとstderrを実行中のジョブに直接設定してパイプします。 411行目を見てくださいdo_command.c1)。
  • mail(1)標準入力はヘッダーが必要なので完全に準備する必要があります。一時ファイル(通常)を開いてから/tmp/mail-R…跡を残さないようにすぐに削除します。 83行目を見てくださいcollect.c2)。

どんなに見ても意図的な努力だと思います。いいえ傍受できる一時ファイルを残します。長期実行cronjobで何が起こるのかを傍受する必要がある場合は、一時ファイルを直接設定する必要があります。

この時点で私が提案するのは、tee $HOME/cronjob.out安全な場所に作業出力のコピーをキャプチャするcronjobを追加することです。

おすすめ記事