Linuxでcronジョブを作成および追加する方法

LinuxでCronを使用して定期的なタスクをスケジュールする

cron は、後で実行されるコマンドまたはスクリプトをスケジュールするために使用されるLinuxプログラムです。また、定期的に実行されるコマンドやスクリプトをスケジュールするためにも使用できます。 cronを使用してスケジュールされたプログラムは、一般に次のように呼ばれます。 cronジョブ。 その主な用途は、定期的なバックアップ、定期的なソフトウェアの更新、およびその他の同様のメンテナンスタスクなどのシステム管理タスクです。

序章

cron Linuxではデーモンとして、つまりバックグラウンドプロセスとして実行されます。これにより、ユーザーはcrontabコマンドを使用してジョブを直接スケジュールできます。このコマンドは、エディターでCronFileと呼ばれる構成ファイルを開きます。ユーザーごとに個別のcronファイルが作成されます。

cronファイルの作成と基本的な構文

The crontab コマンドはで実行できます -e 既存のcronファイルを編集するためのフラグ。ファイルがまだ存在しない場合は、作成されます。ユーザーが初めてコマンドを呼び出す場合、およびLinuxシステムに複数のファイルエディターがインストールされている場合、コマンドはユーザーにエディターのリストからデフォルトのエディターを選択するように求めます。

エディターを選択すると、ユーザーのcronファイルが作成されて開かれます。これで、ファイルでジョブを指定できます。

cronジョブを指定するための一般的な構文は次のとおりです。

基本的に、 指定された「分」(0-59)、「時間」(0-23)、「日」(1-31)、月(1-12)、曜日、(0-7、日曜日の場合、Cron Jobでは0または7のいずれかを使用できます)。簡単にするために、例を見てみましょう。

1 2 3 45エコー「こんにちは」

これはコマンドを意味します エコー「こんにちは」 週の5日ごと(金曜日)とその月の3日ごと、その年の4番目の月ごと(4月)の時刻02:01(2時間目の最初の分)に実行されます。

同じコマンドを毎日02:01に実行する場合、構文は次のようになります。

1 2 * * * echo "Hello"

The * 「常に」または「すべての人のために」を意味します。すべての月、すべての曜日など。

コマンド演算子(,) タスクを繰り返す必要がある場合に、値のリストを入力するために使用できます。例えば:

0 2,3,4 * * * echo "Hello"

これにより、プログラムは毎日午前2時、午前3時、午前4時に実行されます。

同様に、 ハイフン(-)演算子 タスクを繰り返す範囲を指定するために使用できます。例えば:

0-20 2 * * * echo "Hello"

これにより、02:00、02:01、02:02などの02:20までプログラムが実行されます。

最後に、 スラッシュ( / )演算子。 この演算子は、タスクが繰り返される間隔値を指定するために使用されます。例えば。 */15 [分]フィールドは、タスクを15分ごとに繰り返す必要があることを意味します。 2-10/2 時間フィールドでは、タスクが2時間間隔(午前2時、午前4時、午前6時、午前8時、午前10時)ごとに午前2時から午前10時の間に繰り返されることを指定します。

* / 15 2-10 / 2 * * * echo "Hello"

cronファイルにエントリを作成したら、ファイルを保存してエディタを終了します。

あなたは見るべきです 「新しいcrontabのインストール」 crontabファイルを保存して終了した後のターミナルでのメッセージ。

マクロ

特定のマクロはCronで事前定義されており、毎時、毎日、毎月など、一般的に必要な時間間隔を指定します。

一日の始まり、つまり00:00にタスクを実行するには、マクロを使用します @毎日。これは同等です 0 0 * * *.

前に説明したのと同じ方法で、これをCronファイルに入れることができます。

同様の方法で、他のマクロを使用できます。 @hourly (毎時0分)、 @monthly (月の初日の00:00)、 @weekly (週の最初の日の00:00、 @yearly(毎年1月1日の00:00)、 @リブート (コンピューターの起動ごとに)。

結論

この記事では、Linuxで定期的に実行するためにCronジョブを追加する方法を学びました。 Cron Jobsを適切に使用すると、ユーザーが直面する最も厄介な手動タスクでも便利です。古いログの定期的な削除、あらゆる種類のコールドデータ(めったにアクセスされないデータ)のアーカイブなど。