1. Crondの概要
Crondは、Linuxで特定のタスクを定期的に実行したり、特定のイベントを待機したりするために使用されるデーモンプロセスです。これは、Windowsでスケジュールされたタスクに似ています。オペレーティングシステムをインストールすると、このサービスツールがデフォルトでインストールされ、自動的に起動しますcrondプロセスは、毎分実行するタスクがあるかどうかを定期的にチェックし、実行するタスクがある場合は自動的に実行します。
さらに、ユーザーは自分でスケジュールされたタスクを設定することもできるため、Linuxシステムにはユーザーがスケジュールされたタスクを制御するためのコマンドcrontabコマンドも用意されています。
2、タスクの分類
Linuxでのタスクスケジューリングは、システムタスクスケジューリングとユーザータスクスケジューリングの2つのカテゴリに分類されます。
1.システムタスクスケジューリング:
キャッシュされたデータのハードディスクへの書き込み、ログのクリーニングなど、システムが定期的に実行する必要のあるタスク。/ etcディレクトリにcrontabファイルがあります。これは、システムタスクスケジューリングの構成ファイルです。
最初の4行は、crondタスクを実行するための環境変数を構成するために使用されます。最初の行のシェル変数は、システムが使用するシェルを指定します。ここではbashです。2行目のPATH変数は、コマンドを実行するシステムのパスを指定します。3行目のMAILTO変数crondが指定されたタスク実行情報は、メールでrootユーザーに送信されます。MAILTO変数の値が空の場合、タスク実行情報はユーザーに送信されません。4行目のHOME変数は、実行時に使用されるコマンドまたはスクリプトを指定しますメインディレクトリ。
2.ユーザータスクのスケジュール
ユーザーデータのバックアップ、定期的なメールのリマインダーなど、ユーザーが定期的に実行する必要があるタスク ユーザーはcrontabを使用して、自分のスケジュールされたタスクをカスタマイズできます。ユーザー定義のcrontabファイルはすべて/ var / spool / cronディレクトリに保存され、ファイル名はユーザー名と一致しています。
crontabファイルの意味:
ユーザーが作成したcrontabファイルでは、各行がタスクを表し、各行の各フィールドが設定を表します。その形式は6つのフィールドに分かれています。最初の5つのセクションは時間設定セクションで、6番目のセクションは実行するコマンドセグメントの形式は次のとおりです。
分時日月週コマンド
上記の各フィールドでは、次の特殊文字も使用できます。
アスタリスク(*):可能なすべての値を表します。たとえば、月フィールドがアスタリスクの場合、コマンド操作は他のフィールドの制約を満たした後、毎月実行されます。
コンマ(、):コンマで区切られた値でリスト範囲を指定できます(例: "1,2,5,7,8,9")。
ミドルバー(-):整数間のミドルバーは、整数の範囲を表すために使用できます。たとえば、「2-6」は「2、3、4、5、6」を意味します
スラッシュ(/):スラッシュを使用して時間間隔の頻度を指定できます。たとえば、「0-23 / 2」は2時間ごとに実行されることを意味します。同時に、スラッシュは* / 10などのアスタリスクと共に使用できます。分フィールドで使用すると、10分ごとに実行されます。
3、crondサービス
crontabをインストールします。
yum install crontabs
サービス操作手順:
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
/sbin/service crond status //启动服务
crontabサービスが起動時に開始するように設定されているかどうかを確認し、次のコマンドを実行します。
ntsysv
参加すると、起動時に自動的に開始します。
chkconfig –level 35 crond on
crontabコマンドの4つの詳細な説明
パラメータ | 意味 | 例 |
---|---|---|
-l(リスト) | crontabファイルの内容を表示する | crontab -l |
-e(編集) | crontabファイルの内容を編集する | crontab -e |
-私 | crontabファイルの内容を削除します。削除する前に確認を求められます | crontab -i |
-r | crontabファイルの内容を削除する | crontab -r |
-u usr | ユーザーが使用するタスクを実行する | crontab -u |
crontab {-l | -e}は実際には/ var / spool / cron /現在のユーザーのようなファイルを操作しています(pwdがルートを表示し、次に/ var / spool / cron / rootを操作しています)。
転載
https://www.cnblogs.com/intval/p/5763929.html
https://www.cnblogs.com/liang-io/p/9596294.html
https://blog.csdn.net/lzghxjt/article / details / 80375626