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を完全にアンインストールする方法

推薦する

一般的なSQL削除ステートメントの原則の違いを理解するだけです

この記事では主に、SQL 削除ステートメント DROP、TRUNCATE、および DELETE の違...

mysql 5.6.23 winx64.zip インストール詳細チュートリアル

WindowsにMySQLの圧縮バージョンをインストールする方法の詳細については、以下を参照してくだ...

Tomcat マルチポートドメイン名アクセスと gzip 圧縮方式を有効にする構成

1. デフォルトのポート8080に加えて、ドメイン名のアクセスとserver.xmlのオープンにポー...

KVM ベースの SRIOV パススルー構成とパフォーマンス テストの詳細な説明

SRIOVの導入、VFパススルー構成、パケット転送速度性能テスト目次1. SRIOVの紹介2. 環境...

JavaScript関数導入の詳しい説明

目次機能紹介関数関数の作成コンストラクタは関数を作成する関数宣言は関数を作成する関数式関数を作成する...

1つの記事でJSONPの原理と応用を理解する

目次JSONPとはJSONP 原則JSONP実装1. Ajaxでクロスドメインリクエストが行われると...

ウェブサイトデザインの経験 ウェブサイト構築におけるよくある間違いのまとめ

注意: 計画、設計、開発のいずれの場合でも、これらの間違いは避けなければなりません。 1. ナビゲー...

MySQL テーブル内の重複データを検索して削除する方法の概要

時々、データベース テーブルに重複したデータが大量に保存されます。これらの重複データはリソースを浪費...

HTML の div、td、p およびその他のコンテナーでの強制改行と非改行の実装

1. 改行を強制せず、省略記号で終了します。コードをコピーコードは次のとおりです。 <div ...

CSS マルチレベルメニュー実装コード

これは、Web ページを Windows のスタート メニューなどのデスクトップ プログラムのように...

MySQL 5.6 圧縮パッケージのインストール方法

MySQL には、msi インストールと zip 解凍の 2 つのインストール方法があります。 zi...

MYSQL接続ポートが占有され、ファイルパスエラーが発生する問題を解決します

今朝、私は Wampserver を使用してローカルの win7 マシン上に PHP 環境を構築し、...

MySQL 8.0.11 のインストールと設定方法のグラフィック チュートリアル (win10)

この記事ではMySQL 8.0.11のインストールと設定方法を参考までに記録します。具体的な内容は以...

MySQL ステートメントコメントの紹介

MySQL は次の 3 種類のコメントをサポートしています。 1. 行末の「#」文字から。 2. 「...

JavaScript にはすでに Object があるのに、なぜ Map が必要なのでしょうか?

目次1. オブジェクトをマップとして扱わない1. 未定義のプロパティはプロトタイプチェーンを通じてア...