cronjobでコマンドを実行して端末に出力を表示する方法

cronjobでコマンドを実行して端末に出力を表示する方法

cronjobに関する質問があります。 cronjobを使用してコマンドを実行すると、出力ファイルに保存する代わりに端末に出力を表示できますか?

例えば

 */2 * * * root /bin/ping xx.xx.xx.xx 

出力を端末に表示する必要があります。試してみましたが、端末に表示されません。 cronjobで何でも変更する必要があります。

よろしくお願いします。 Vinos

答え1

これはできません。

すべてのcron操作は、端末接続なしで非対話型シェルで実行されます。したがって/dev/tty、同様の概念を使用することはできませんcron

答え2

汚いアプローチは、プログラムの出力を既存の端末のptsファイルにリダイレクトすることです。

pts ファイルを確認するには、tty コマンドを入力します。

~$ tty  
/dev/pts/19

その後、crontabは次のようになります。

* * * * * /usr/local/scripts/script.sh > /dev/pts/19

答え3

次のようにcrondにコマンドを入力できます。

*/2 * * * root /bin/ping xx.xx.xx.xx | tee ~/my_output_from_crond.log

端子タイプ:

touch ~/my_output_from_crond.log
tail -f ~/my_output_from_crond.log

次に、crond start コマンドを待ちます。

関連情報