私の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 -e
crontabファイルを実行して編集する必要があります。これを行うには、コマンドラインエディタ(デフォルトでは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