2時間ごとに実行するようにコマンドをスケジュールする方法は?

2時間ごとに実行するようにコマンドをスケジュールする方法は?

私のUbuntuシステムで2時間ごとに小さな監視jarファイルを実行したいと思います。

java -jar mymonitoringtool.jar

どのように設定するのかわかりません。

ベストアンサー1

要件に応じて、次の式を使用してcrontabを設定できます。

0 */2 * * * path/to/java -jar path/to/mymonitoringtool.jar &> path/to/monitor-$(date "+%Y%b%d-%H%M%S").log

まず、実行して既存のクローンジョブがあることを確認する必要がありますcrontab -l

まだcronジョブがない場合は、上記の行をテキストファイル(my-cron-job.txtなど)に配置して実行してcrontab my-cron-job.txt有効にできます。その後、crontab -lジョブを再実行してジョブが追加されたことを確認できます。

既存のcronジョブがある場合は、crontab -ecrontabファイルを実行して編集する必要があります。これを行うには、コマンドラインエディタ(デフォルトではvi)を使用する必要があります。

cronデーモンは限られた数の環境変数のみを設定するため、Java実行可能ファイルのフルパスを指定するのが最善です。また、実行可能なJARファイルのフルパスを指定する必要があります。

私はあなたがjava -jarコマンドの出力を収集したいと仮定し、コマンドにログファイルを追加しました。コマンドの出力とエラーストリームは、タイムスタンプで名前が付けられたこのログファイルにリダイレクトされます(例:monitor-2018Nov03-200000.log)。

すべてが設定されたら、クローンジョブの最初の1〜2回の実行を監視する必要があります。すべてが問題ない場合は、実行を続けることができます。


外部参照のために、以下はクローン操作の紹介です。これは、予約が実際にどのように機能するかを理解するのに役立ちます。

https://www.howtoforge.com/a-short-introduction-to-cron-jobs

おすすめ記事