ubuntuマシンで2時間ごとに小さな監視jarファイルを実行したい。

java -jar mymonitoringtool.jar 

設定方法がわかりません。

コメント

  • cronはあなたの友達です。
  • デイライトセービングへの切り替えやデイライトセービングからの切り替えについて何が必要ですか?ジョブが2時間ごとに実行され、その前後に1時間スキップまたは追加できないことが、非常に重要ですか?
  • はい、2時間ごとに実行する必要があります。スキップしないでください。2時間未満ではなく2時間の監視を表すと効果的ではないと思います。いくつかの統計を実行する予定です。したがって、期間は重要です。

回答

要件に応じて次の式を使用して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ジョブを確認する必要があります。

そうでない場合まだcronジョブがありますが、テキストファイル(my-cron-job.txtなど)に行を追加し、crontab my-cron-job.txtを実行してアクティブにします。次に、crontab -lをもう一度実行して、ジョブが追加されたことを確認できます。

既存のcronジョブがある場合は、

そしてcrontabファイルを編集します。これにはコマンドラインエディタ(デフォルトではvi)を使用する必要があります。

cronデーモンは限られた数しか設定しません。環境変数の数が多いため、java実行可能ファイルへのフルパスを指定することをお勧めします。また、実行可能JARファイルへのフルパスを指定する必要があります。

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

すべてが設定されたら、最初の1つまたは2つの実行についてcronジョブを監視する必要があります。すべてが必要に応じて機能する場合は、実行したままにしておくことができます。


外部参照として、ここにcronジョブの紹介があります。これは、スケジューリングが実際にどのように機能するかを理解するのに役立ちます。

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

回答

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

端末でcrontab -eと入力します

この行を追加します0 */2 * * * path/to/java -jar path/to/mymonitoringtool.jar

保存して終了

次のCrontab構文

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

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

その他のオプションと情報: https://help.ubuntu.com/community/CronHowto

コメント

  • JAVA_HOMEを設定した場合、path / to / javaは必要ですか?マシンでjavaバージョンが機能することを確認できます。
  • 必要はありません。環境変数(JAVA_HOME)の場合はパスを追加しますが設定されています。しかし、どういうわけか、環境変数が台無しになった場合、cronjobに追加されたJavaパスは'ブレーキをかけません

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です