GNU/Linux >> Linux の 問題 >  >> Linux

cronジョブを作成および管理するためのLinuxcrontabコマンド

Linux crontabコマンドは、cronジョブをスケジュールするために使用されます。 cronジョブは、Linuxユーザーが特定の期間または間隔で自動化されたタスクを実行できるようにする便利な自動化ツールです。

これは、手動で管理する場合は面倒なタスクをスケジュールするための使いやすい方法です。 cronジョブは通常、システム管理者がサーバーのバックアップ、再起動、通知の送信、クリーンアップなどのタスクを自動化するために使用します。

cronジョブはバックグラウンドでサイレントに実行され、/etc/crontabをチェックします。 ファイルと/var/spool/cron および/etc/cron.*/ ディレクトリ。この記事では、Linuxシステムでcronジョブを作成および管理する方法を学習します。

LinuxCronジョブ構造

cronジョブの構造は次のとおりです。

* * * * * COMMAND arg1 arg2

または

* * * * * /path/to/script arg1 arg2

左から


The 1st entry represents Minutes [0 - 59]
The 2nd entry represents Hours   [0 - 24]
The 3rd entry represents Days    [0 - 31]
The 4th entry represents Months  [0 - 12]
The 5th entry represents Days of the week [0 - 7]

Linuxcrontabの例

crontabのスケルトンができたので、コマンドまたはスクリプトへのパスがわかれば、非常に簡単に作成できます。

この例では、Linuxシステムを再起動するためのcrontabを作成します。

vim reboot.sh

以下のコンテンツをコピーしてbashファイルに貼り付けます。


#!/bin/bash

0 3 * * * /sbin/reboot

前に示したようにcrontab構文に従うと、cronジョブは毎日午前3時に実行され、システムを再起動します。

テキストエディタを保存して終了します。

次に、図のように実行権限を割り当てます。

# chmod +x reboot.sh

ファイルのアクセス許可を確認するには、次のコマンドを実行します:

# ls -l reboot.sh

crontabの実行を初期化するには

# crontab reboot.sh

現在ログインしているユーザーのcrontabの内容を表示する場合は、コマンドを実行します。

crontab -l

crontabが稼働していると、crontabは指定された時間、つまり現地時間の午前3時に実行されます。

システム内のすべてのcronジョブを削除するには、-rを使用します オプション。

crontab -r

特定の時間間隔でcronジョブを実行する追加の例

  1. cronジョブを毎分実行するには 、run
    * * * * * COMMAND

    現在の時刻が午前6:00の場合、cronジョブは午前6:01、6:02などに実行されます。

  2. n分ごとにcronジョブを実行するには たとえば、10分ごとに、
    */10 * * * * COMMAND
  3. cronジョブを実行するには毎時n分ごと たとえば、毎時30分ごとに、
    30 * * * * COMMAND
  4. cronジョブを1時間ごとに実行するには 、つまり0分ごとに、
    0 * * * * COMMAND
  5. n時間ごとにcronジョブを実行するには たとえば、6時間ごとに、
    0 */6 * * * COMMAND
  6. 特定の日にcronジョブを実行するには 、たとえば金曜日に、
    0 0 * * FRI COMMAND
  7. このcronジョブは、毎週金曜日の深夜00:00に実行されます。

  8. cronジョブを月曜日から金曜日まで実行する場合 run
    0 0 * * 1-5 COMMAND

    これにより、月曜日から金曜日まで毎日00:00にコマンドが実行されます。

  9. cronジョブを毎日実行するには 、run
    0 0 * * * COMMAND
  10. cronジョブを実行するには毎月1日ごと
    0 0 1 * * COMMAND
  11. cronジョブを実行するには毎月1日特定の時間に 、たとえば20:30時間、実行
    30 20 1 * * COMMAND
  12. 仕事を年の四半期ごとに実行するには つまり、3か月ごとの1日目に、
    0 0 1 */3 * COMMAND
  13. cronジョブを毎年実行するには 、run
    0 0 1 1 * COMMAND

CrontabGuruを使用したcronジョブのスケジュール

Crontabの構文は非常に混乱し、習得が難しい場合があります。でも心配しないでくださいCrontab Guruは非常に使いやすいオンラインツールで、面倒なことなく時間間隔をシームレスに定義できます。これは、crontabの時間間隔に適切なラベルが付けられたウェブインターフェースであり、ツールがcrontabを解釈するときに、テキストフィールドに図を入力するだけで済みます。以下の例では、ツールは月曜日から土曜日まで午前6時ごとにcronジョブを自動化するためのcrontabを生成しました。


Linux
  1. Linuxlnコマンド

  2. その中にディレクトリとファイルを作成するための1つのコマンドlinuxコマンド

  3. sudo crontab -e と crontab -e だけの Linux の違い

  1. fgおよびbgコマンドを使用してLinuxバックグラウンドジョブを管理する方法

  2. Linuxでエイリアスを作成してエイリアスコマンドを使用する方法

  3. Linuxコマンド:jobs、bg、およびfg

  1. Linuxでのtarコマンド(アーカイブの作成と抽出)

  2. アーカイブを作成および抽出するためのLinuxでの10のtarコマンドの例

  3. 6 Linux Crontab コマンドの例