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

答え2

cronはLinuxの内部タスクスケジューラです。特定の時間間隔または日付時刻に実行するようにコマンドをスケジュールするのに役立ちます。

crontab -e端末に入力してください

この行を追加してください 0 */2 * * * path/to/java -jar path/to/mymonitoringtool.jar

保存と終了

crontabの構文は次のとおりです。

00 */2 * * * path/to/java -jar path/to/mymonitoringtool.jar

毎日毎月2時間ごとに0分毎週平日run-this-command

より多くのオプションと情報を表示するには:https://help.ubuntu.com/community/CronHowto

関連情報