Linux の Crontab: ジョブ スケジュールの例

クロントタブとは何ですか?

クロンとは、ギリシャ語で時間を表す「クロノス」にちなんで名付けられました。 これは、特定のスケジュールに従ってタスクを自動的に実行するシステム プロセスです。 これは、定期的なスケジュール タスクを実行するために使用されるコマンドのセットです。 Crontab は「cron テーブル」の略です。 これにより、cron として知られるジョブ スケジューラを使用してタスクを実行できるようになります。

Crontab は、スケジュールを編集するために使用されるプログラムの名前でもあります。 これは、特定のスケジュールで定期的に実行するシェル コマンドを示す構成ファイルである crontab ファイルによって駆動されます。

Cron ジョブを使用する理由

Linux で Cronjob を使用する理由は次のとおりです。

  • OS がログ ファイルまたはデータベースのスケジュールされたバックアップを取得できるようにします。
  • 古いログファイルを削除する
  • Archive とデータベーステーブルのパージ
  • 通知を送信します。mail ニュースレター、パスワードの有効期限などmail
  • キャッシュされたデータの定期的なクリーンアップ
  • Crontab は、Unix ジョブを自動化するための理想的なオプションです。
  • システムメンテナンスを自動化するために使用されます

Linux で cron を使用するにはどうすればよいですか?

Linuxシステム Pack には、crontab という名前の便利なタスク スケジューラが含まれています。 Crontab は、root として自動プロセスを実行するようにスケジュールできるため、人気があります。 したがって、自動プロセスを root として実行すると、システムの変更が容易になります。 タスクを変更し、タスクが再開始されるまで待つだけです。

Linux の Crontab 形式

Linux の Crontab には 6 つのフィールドがあります。 最初の XNUMX つのフィールドは実行の日時を定義し、XNUMX 番目のフィールドはコマンドの実行に使用されます。

Crontab 構文:

[Minute] [hour] 
[Day_of_the_Month] 
[Month_of_the_Year] 
[Day_of_the_Week] 
[command]

Linux の Crontab 形式

  • アストリックス (*): マッチングに使用する
  • 範囲を定義します: 1 ~ 10、30 ~ 40、または XNUMX 月~XNUMX 月、月~水などのハイフンを使用して範囲を定義できます。
  • 複数の範囲を定義します。 apr-jun、oct-dec のようにコマンドを区切ってさまざまな範囲を定義できます。

Crontab を追加/変更する方法

ユーザーは次のコマンドを使用して crontab ジョブを編集できますwing crontabコマンド:

$ crontab -u -e 

上記のコマンドを実行すると、コンピュータ システムの個人用 crontab 設定が開きます。この設定は、デフォルトのテキスト エディタを使用して編集できます。

follo を使用すると変更が自動的に反映されるため、crontab を再起動する必要はありません。wing

$ crontab -l

crontab タスクを削除するには、次のコマンドを使用します。wing

$ crontab -r

crontab でジョブを追加または更新するには、以下のコマンドを使用します。

crontab -e

他のユーザーの crontab を編集するコマンド

crontab -u username -e

Crontab を一覧表示する方法

現在のユーザーの crontab エントリを表示するコマンド

crontab -l

特定のユーザーの crontab エントリを表示するコマンド:

crontab -u username -l

重要な Crontab の例

Crontab の重要な例をいくつか示します。

Description Command
さまざまなスケジュール ジョブを実行するための Cron コマンド。
以下のコマンドは毎日午前 7 時と午後 5 時に実行されます。
0 7,17 * * * /scripts/script.sh
5 分ごとに cron を実行するコマンド。
*/5* * * * *  /scripts/script.sh
Cron スケジューラ コマンドを使用すると、あらゆる環境でタスクを実行できます。 Monday 午前5時。このコマンドは、システムのクリーンアップなどの毎週のタスクを実行する場合に役立ちます。
0 5 * * mon  /scripts/script.sh
コマンドは 3 分間隔でスクリプトを実行します。
*/3 * * * * /scripts/monitor.sh
特定の月に実行する cron をスケジュールするコマンド。
タスクを実行するこのコマンドは、XNUMX 月、XNUMX 月、XNUMX 月に実行されます。 場合によっては、選択した月次タスクを実行するためにタスクをスケジュールする必要があります。
* * * feb,jun,sep *  /script/script.sh
選択した日に実行するコマンド。この例は、それぞれを実行します Monday そして水曜日の午後5時。
0 17 * * mon,wed  /script/script.sh
このコマンドを使用すると、毎月の第 XNUMX 土曜日に cron を実行できるようになります。
0 2 * * sat  [ $(date +%d) -le 06 ] && /script/script.sh
6時間間隔でスクリプトを実行するコマンドなので、以下のように設定できます。
0 */6 * * * /scripts/script.sh
このコマンドは、タスクを 2 回実行するようにスケジュールします。 Monday そして火曜日。以下を使用してくださいwing それを行うための設定です。
0 4,17 * * mon,tue /scripts/script.sh
コマンドは、15 秒ごとに cron を実行するようにスケジュールします。
* * * * * /scripts/script.sh
* * * * *  sleep 15; /scripts/script.sh
タスクを年単位でスケジュールするコマンド。
@yearly タイムスタンプは = から「0 0 5 1 *」です。 これにより、毎年 XNUMX 分にタスクが実行されます。 新年のご挨拶などにご利用いただけます。
@yearly /scripts/script.sh 
毎月実行するコマンド タスク。
@monthly のタイムスタンプは「0 0 1 * *」に似ています。 このコマンド式を使用すると、月の最初の XNUMX 分間にタスクを実行できます。
@monthly /scripts/script.sh
単一の cron を使用して複数のタスクを実行するコマンド。
* * * * * /scripts/script.sh; /scripts/scrit2.sh
毎週実行するタスクをスケジュールするコマンド。
@weekly タイムスタンプは「0 0 4 * sun」に似ています。 これは、システムのクリーンアップなどの毎週のタスクを実行するために使用されます。
@weekly /bin/script.sh
タスクは毎日実行されるようにスケジュールされます。
@daily タイムスタンプは「0 2 * * *」に似ています。 毎日 XNUMX 分目にタスクが実行されます。
@daily /scripts/script.sh
タスクを時間ごとに実行できるようにします。
@hourly のタイムスタンプは「0 * * * *」に似ています。 このコマンドは、毎時の最初の XNUMX 分にタスクを実行します。
@hourly /scripts/script.sh
システムの再起動時にタスクを実行できるようにします。
@reboot 式は、システムの起動時にシステムが実行したいタスクに役立ちます。 これは、タスクをバックグラウンドで自動的に開始するのに役立ちます。
@reboot /scripts/script.sh

概要

  • クロンとは、ギリシャ語で時間を表す「クロノス」にちなんで名付けられました。
  • Cron ジョブは、OS がログ ファイルまたはデータベースのスケジュールされたバックアップを取得するのに役立ちます。
  • Linux システム パックには、root として自動プロセスを実行するようにスケジュールできる crontab という名前の便利なタスク スケジューラが含まれています。
  • Linux の Crontab には 6 つのフィールドがあります。 最初の XNUMX つのフィールドは実行の日時を定義し、XNUMX 番目のフィールドはコマンドの実行に使用されます。