Linux crontab コマンドの使用

Linux crontab コマンドの使用

1. コマンドの紹介

contab (cron テーブル) コマンドは、Windows のスケジュールされたタスクと同様に、定期的に実行する必要があるユーザーのタスクを管理するために使用されます。オペレーティング システムをインストールすると、このサービス ツールがデフォルトでインストールされ、crond プロセスが自動的に開始されます。crond プロセスは、実行するタスクがあるかどうかを 1 分ごとに確認し、タスクがある場合はタスクを実行します。

Linux でのタスク スケジューリングは、システム タスク スケジューリングとユーザー タスク スケジューリングの 2 つのカテゴリに分けられます。

システム タスクのスケジュール: キャッシュ データをハード ディスクに書き込む、ログをクリーンアップするなど、システムが定期的に実行する必要がある作業。 /etc/crontab ファイルは、システム タスクのスケジュール設定用の構成ファイルです。

ユーザー タスクのスケジュール設定: ユーザー データのバックアップ、スケジュールされた電子メール リマインダーなど、ユーザーが定期的に実行する必要があるタスク。ユーザーは crontab ツールを使用して、スケジュールされたタスクを独自にカスタマイズできます。すべてのユーザー定義の crontab ファイルは /var/spool/cron ディレクトリに保存され、ファイル名はユーザー名と一致します。

システム管理者は、/etc/cron.deny ファイルと /etc/cron.allow ファイルを使用して、ユーザーが独自の crontab ファイルを持つことを禁止または許可できます。

2. コマンド形式

crontab [-u USER] ファイル
crontab [-u ユーザー] [-l | -r | -e] [-i] [-s]
crontab -n [ ホスト名 ]
crontab -c

3. オプションの説明

-う
	スケジュールされたタスクを設定するためのユーザー名を指定します -l
	現在スケジュールされているタスクを一覧表示 -r
	スケジュールされたタスクを削除する -e
	ユーザーのスケジュールされたタスクを編集します。タスクは、/var/spool/cron ディレクトリ内のユーザー名と同じ名前のファイルに保存されます。
	スケジュールされたタスクを削除する前に、ユーザーに削除を確認するかどうかを確認します -s
	編集/置換する前に、現在のSELinuxセキュリティコンテキスト文字列をMLS_LEVELとしてcrontabファイル-n [HOSTNAME]に追加します。
	このオプションは、クラスタ環境をサポートするために cron(8) が -c オプションで起動された場合にのみ使用され、crontab ファイルで指定されたスケジュールされたタスクをクラスタ内のどのホストが実行するかを指定するために使用されます。ホスト名が省略された場合、gethostname(2)によって返されるローカルホスト名が使用されます。
	このオプションは、クラスタ環境をサポートするために cron(8) が -c オプションで起動された場合にのみ使用されます。これは、クラスタ内のどのホストが現在 crontab ファイルでスケジュールされたタスクを実行しているかを照会するために使用されます。

4. ユーザープロフィール

crontab ファイルは、ユーザーのスケジュールされたタスクを、/var/spool/cron ディレクトリ内のユーザー名と同じ名前のファイルに特定の形式で保存します。たとえば、root ユーザーの場合、タスクを追加すると、パスの下に root ファイルが作成されます。 Linux cron サービスは、/var/spool/cron ディレクトリの下にあるすべてのコンテンツを 1 分ごとに読み取ります。

crontab ファイルの各行はタスクを表します。各タスクは 6 つのフィールドに分かれています。最初の 5 つのフィールドは時間フィールドで、6 番目のフィールドは実行されるコマンドです。形式は次のとおりです。

分 時間 日 月 週 コマンド

minute: 分、値の範囲は 0 から 59 です。
hour: 時間、値の範囲は 0 から 23 です。
曜日、値の範囲は 1 ~ 31 です。
month: 月。値の範囲は 1 ~ 12、または jan、feb、mar、apr... です。
week 曜日。値の範囲は 0 ~ 7、つまり sun、mon、tue、wed、thu、fri、sat です。 0 と 7 はどちらも日曜日を表すことに注意してください。
command は実行されるコマンドであり、システム コマンドまたは自分で作成したスクリプト ファイルになります。

上記の各時間フィールドでは、次の特殊文字も使用できます。

* はすべての可能な値を示します。たとえば、minute は * で、これはコマンドが 1 分ごとに実行されることを意味します。
、カンマで区切られた値のリストを指定できます。例:1,2,5,7,8,9
- 整数の間にダッシュを使用して範囲を表すことができます。たとえば、2-6 は 2、3、4、5、6 を表します。
/ スラッシュを使用して時間間隔の頻度を指定できます。たとえば、minute は */2 で、これはコマンドが 2 分ごとに実行されることを意味します。

crontab ファイルのコメント記号は # であることに注意してください。

5. システム構成ファイル

ユーザーの crontab ファイルに加えて、スケジュールされたタスクに関連するシステム構成ファイルは次のとおりです。

/etc/crontab システムのスケジュールされたタスク設定ファイル/etc/cron.d 定期的にタスクを自動的に実行する/etc/cron.hourly 1 時間ごとに実行されるタスク/etc/cron.daily 毎日実行されるタスク/etc/cron.weekly 毎週実行されるタスク/etc/cron.monthly 毎月実行されるタスク/etc/cron.allow このファイルにリストされているユーザーは、スケジュールされたタスクの実行を許可されます/etc/cron.deny このファイルにリストされているユーザーは、スケジュールされたタスクの実行を許可されません/var/log/cron Crontab ログ ファイル

Linux cron サービスは、/etc/crontab ファイルと /etc/cron.d ディレクトリの下にあるすべてのコンテンツを 1 分ごとに読み取ります。 /etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly、/etc/cron.monthly の下のタスクも、対応する期間に応じて間接的に呼び出されます。

6. 一般的な例

(1)スケジュールされたタスクを追加します。

crontab -e
* * * * * コマンド # 1分ごとにコマンドを実行する
3,15 * * *コマンド#3,15の3,15 8-11 * *コマンド#午前8時から11:00までの3,15分の3,15 8-11 * * 1 commad#execute exute exute exute exut午前8時から11:00まで3,15 8-11 1 1 *コマンド#毎年1月1日の午前8時から11:00までの3番目と15分に実行されます0 */2 * * * */SBIN/SERVICE HTTPD RESTART#RESTART HTTPD

(2)スケジュールされたタスクを確認します。

crontab -l

(3)スケジュールされたタスクを削除します。つまり、/var/spool/cronディレクトリ内のcrontabファイルをクリアします。危険な行為ですので必ずバックアップを行ってください。

crontab -r

(4)指定されたcrontabファイルを/var/spool/cronディレクトリに復元します。

crontab ファイル

上記は Linux crontab コマンドの使用に関する詳細な内容です。Linux crontab コマンドの詳細については、123WORDPRESS.COM の他の関連記事をご覧ください。

以下もご興味があるかもしれません:
  • Linux 環境で crontab コマンドを使用して、スケジュールされた定期的な実行タスクを設定します (PHP 実行コードを含む)
  • 特定のコマンドを実行する必要があるときにシェル スクリプトの実行をタイミングする Linux crontab のソリューション
  • Linux のスケジュールタスク Crontab コマンドの使用に関する詳細な説明と概要
  • Linux での crontab スケジュール実行コマンドの詳細な説明
  • Linux でコマンドとスクリプトを定期的に実行する (cron、crontab、anacron)
  • Linux でタスクをスケジュール実行するための at コマンドと crontab コマンドの詳細な説明
  • Linux Crontab の起動、実行、編集コマンド
  • Linux crontab コマンドの形式と詳細な例 (推奨)

<<:  MySQL テーブル作成外部キー エラーの解決方法

>>:  MacでNodeとnpmを完全にアンインストールする方法

推薦する

NodeサイトのForever+nginx導入方法例

私は最近、最も安い Tencent クラウド サーバーを購入しました。これは主に、Web テクノロジ...

MySQL 8.0 の非表示列に対する基本操作

目次01 非表示の列を作成する02 非表示の列に対する基本操作03 非表示の列メタデータ04 主キー...

MySQL ユーザーと権限、およびルートパスワードをクラックする方法の例

MySQL ユーザーと権限MySQL には、MySQL と呼ばれるシステムに付属するデータベースがあ...

Linux C バックグラウンドサービスプログラムの単一プロセス制御の実装

導入通常、バックグラウンド サーバー プログラムには 1 つのプロセスのみが必要ですが、単一のプロセ...

Node.js http モジュールの使用

目次序文ウェブHTTP サーバーファイルサーバー練習する序文Node.js 開発の目的は、JavaS...

HTML 要素 (タグ) とその使用法

a : ハイパーリンクの開始位置または宛先位置を示します。頭字語: 単語の最初の文字からなる略語を示...

燃える炎効果の英語フォント16種類をシェアする

私たちは視覚の世界に住んでおり、多くの視覚効果に囲まれています。コンピューターの前にいても、屋外にい...

Bootstrap FileInputは画像アップロード機能を実装します

この記事の例では、Bootstrap FileInputの具体的なコードを共有して、画像アップロード...

JSON.stringify の簡易版の実装とその 6 つの主要機能の詳細な説明

目次序文JSON.stringify の 6 つの機能特集1特集2特集3特集4特集5特集6手動で文字...

プロフェッショナルなMySQL開発設計仕様とSQL記述仕様

チーム開発のプロセスでは、プロジェクトの安定性、コードの効率性、管理の利便性のために、内部開発および...

tinyMCEの使い方と体験の詳細な説明

tinyMCE の使用方法の詳細な説明初期化TinyMCE を初期化するときは、ページの HEAD ...

ウェブページの再設計の7つの主要要素 ウェブページの再設計の7つの主要要素を共有する

Shopify Plus は、私たちが設立した e コマース プラットフォームのエンタープライズ バ...

Linux で MySQL データベースのインポートおよびエクスポート コマンドを実装する方法

1. mysqldump コマンドを使用してデータベースをエクスポートします (このコマンドのパスで...

ローカル フォルダー内の画像を読み込んで表示するための HTML サンプル コード

一つの目的Html ページでローカル フォルダーを選択すると、フォルダーとそのサブフォルダー内のすべ...

ブラウザ(IEシリーズ)を判別するための条件付きコメント

<!--[if IE 6]> IE6 のみが認識可能 <![endif]-->...