Linux の Crontab: ジョブ スケジュールの例
クロントタブとは何ですか?
クロンとは、ギリシャ語で時間を表す「クロノス」にちなんで名付けられました。 これは、特定のスケジュールに従ってタスクを自動的に実行するシステム プロセスです。 これは、定期的なスケジュール タスクを実行するために使用されるコマンドのセットです。 Crontab は「cron テーブル」の略です。 これにより、cron として知られるジョブ スケジューラを使用してタスクを実行できるようになります。
Crontab は、スケジュールを編集するために使用されるプログラムの名前でもあります。 これは、特定のスケジュールで定期的に実行するシェル コマンドを示す構成ファイルである crontab ファイルによって駆動されます。
Cron ジョブを使用する理由
Linux で Cronjob を使用する理由は次のとおりです。
- OS がログ ファイルまたはデータベースのスケジュールされたバックアップを取得できるようにします。
- 古いログファイルを削除する
- Archive とデータベーステーブルのパージ
- ニュースレター、パスワード有効期限メールなどの通知メールを送信する
- キャッシュされたデータの定期的なクリーンアップ
- 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]
- アストリックス (*): マッチングに使用する
- 範囲を定義します: 1 ~ 10、30 ~ 40、または XNUMX 月~XNUMX 月、月~水などのハイフンを使用して範囲を定義できます。
- 複数の範囲を定義します。 apr-jun、oct-dec のようにコマンドを区切ってさまざまな範囲を定義できます。
Crontab を追加/変更する方法
ユーザーは、次の crontab コマンドを使用して crontab ジョブを編集できます。
$ crontab -u -e
上記のコマンドを実行すると、コンピュータ システムの個人用 crontab 設定が開きます。この設定は、デフォルトのテキスト エディタを使用して編集できます。
次のコマンドを使用すると変更が自動的に反映されるため、crontab を再起動する必要はありません。
$ crontab -l
crontab タスクを削除するには、次のコマンドを使用します。
$ crontab -r
crontab でジョブを追加または更新するには、以下のコマンドを使用します。
crontab -e
他のユーザーの crontab を編集するコマンド
crontab -u username -e
Crontab を一覧表示する方法
現在のユーザーの crontab エントリを表示するコマンド
crontab -l
特定のユーザーの crontab エントリを表示するコマンド:
crontab -u username -l
重要な Crontab の例
Crontab の重要な例をいくつか示します。
詳細説明 | 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 火曜日と水曜日です。以下の設定で実行してください。 |
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 番目のフィールドはコマンドの実行に使用されます。