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

推薦する

Linux ディスク パーティションの実装の原理と方法の分析

覚えて: IDE ディスク: 最初のディスクは hda、2 番目のディスクは hdb...最初のディ...

ウェブサイトにダークモード切り替え機能を持たせるための純粋なCSSフリー実装コード

序文ダーク モードの概念は、 MacOS系統のMojaveに由来し、ユーザーが選択できる 2 つのス...

Mysql5.6.36 スクリプトのコンパイル、インストール、初期化のチュートリアル

概要この記事は、centos7.3 上で mysql5.3.6 を自動的にコンパイルしてインストール...

JavaScript でウェブ プレーヤーを実装する

今日は、JavaScript を使用して Web ページ上にプレーヤーを作成する方法を紹介します。誰...

CSS3はキングをマッチングさせるときにパーティクルアニメーション効果を実現します

コーディングをしていると、多くのことが同じ結末を迎えることに気づくでしょう。問題を解決する方法は何千...

MySQL SQL ステートメントが遅い場合の一般的な原因と解決策

1. インデックス不足または無効なインデックスによるクエリの遅延数千万件のデータを含むテーブルで、イ...

Ubuntu 18.04.4 に MySQL をインストールするプロセスの詳細な説明

Ubuntu 18.04.4 に MySQL をインストールするプロセスを見てみましょう。内容は次の...

露滴アニメーション効果を実装するための Three.js サンプル コード

序文みなさんこんにちは。CSS ウィザードの alphardex です。この記事では、three.j...

docker で mysql に接続できない場合の解決策

シナリオ: 仮想マシンの Docker コンテナに最新バージョンの MySQL をインストールした後...

Windows Server 2008 64ビット MySQL5.6 インストール不要版 設定方法図

1 公式ウェブサイトから MySQL 5.6 バージョンの圧縮パッケージmysql-5.6.36-w...

MySQLのよくある間違い

NULL 値によると、MySQL の NULL 値は単にデータがないことを意味します。NULL 値は...

VueでTypescriptの設定手順を使用する

目次1. TypeScriptが古いVueプロジェクトに導入されるVue+Typescript プロ...

MySQL ALTERコマンドの知識ポイントのまとめ

テーブル名を変更したり、テーブル フィールドを変更したりする必要がある場合は、 MySQL ALTE...

ウェブページでグレーまたはブラックモードを実現するための CSS3 フィルターコード

フロントエンドcss3 フィルターは、Web ページのグレー効果を実現できるだけでなく、ナイト モー...

高品質なウェブページのデザイン方法 高品質なウェブページ(画像とテキスト)のデザイン経験

オープンプラットフォームの増加に伴い、そこから派生するさまざまなアプリケーションサービスも増加傾向に...