ヘルプセンター分類ニュース公告(10)Windows VPSチュートリアル(13)Linux VPSチュートリアル(28)その他(1)linuxにおけるCronタイミングタスクシステムコマンドの詳細

5806 ワード

VPSを購入した後、計画タスクを使用する学生が多い.しかし、計画任務についてはよく知らないので.今日、私たちのヘルプセンターは主に計画任務に関するLinuxチュートリアルを提供しています.cronはlinuxでのタイミング実行ツールであり、手動で介入することなくジョブを実行できます.CronはLinuxの内蔵サービスですが、自動的には起きないので、以下の方法でこのサービスを起動、閉じることができます.1. /sbin/service crond start  //
  1. /sbin/service crond stop  //
  1. /sbin/service crond restart  //
  1. /sbin/service crond reload  //
このサービスをシステムが起動したときに自動的に起動することもできます.
 
/etc/rc.d/rc.localこのスクリプトの末尾には:1. /sbin/service crond start
 
現在、C ronというサービスはすでにプロセスの中にあります.私たちはこのサービスを使用することができます.Cronサービスは以下のいくつかのインタフェースを提供しています.
1.直接crontabコマンドで編集
cronサービスはcrontabコマンドを提供してcronサービスを設定します.以下はこのコマンドのいくつかのパラメータと説明です.1. crontab -u  // cron , root
  1. crontab -l  // cron
  1. crontab -r  // cron
  1. crontab -e  // cron
例えばrootは自分のcron設定を表示します:crontab-u root-l
例えばrootはfredのcron設定を削除したい:crontab-u fred-r
cronサービスを編集するとき、編集する内容にはいくつかのフォーマットと約束があります.入力:crontab-u root-e
vi編集モードに入るには、編集内容が次のフォーマットに一致する必要があります.1. */1 * * * * ls >> /tmp/ls.tx t
タスクスケジューリングcrond常駐コマンド
 
crondはlinuxが定期的にプログラムを実行するためのコマンドです.OSのインストールが完了すると、デフォルトでこのタスクスケジューリングコマンドが起動します.crondコマンドは、実行するジョブがあるかどうかを定期的にチェックし、実行するジョブがある場合は自動的に実行します.
1、linuxタスクのスケジューリングの仕事は主に以下の2種類に分けられます.
*システムが実行する作業:システムデータのバックアップ、キャッシュのクリーンアップなど、システムが周期的に実行する作業
*個人的な作業:ユーザーが定期的に行う作業.たとえば、メールサーバに新しいメッセージがあるかどうかを10分おきにチェックします.これらの作業は、ユーザーごとに設定できます.
2.crontabコマンドオプション:
-uユーザーを指定し、
-lユーザーのタスク計画をリストします.
-rユーザーのタスクを削除します.
-eユーザーのタスクの編集
3.cronファイル構文:
分時間日月曜日命令
0-59 0-23 1-31 1-12 0-6 command(値範囲、0は日曜日の一般的な1行に対応するタスクを表す)
4.いくつかの特殊な記号の意味を覚えます.
「*」は値の範囲内の数値を表します.
「/」は「毎」を表し、
「-」は、数値から数値までを表します.
「,」はいくつかの離散した数字に分かれています
一、タスクスケジュール設定ファイルの書き方
crontab-eコマンドで編集できます./var/spool/cronで対応するユーザーのcronファイルを編集したり、/etc/crontabファイルを直接変更したりすることができます.
具体的なフォーマットは次のとおりです.
Minute Hour Day Month Dayofweek command
分時間日月日毎週コマンド
各フィールドの意味は次のとおりです.
Minuteは時間の数分ごとにこのタスクを実行します.
Hourは毎日数時間目にこのタスクを実行します.
Dayは毎月の翌日にこのタスクを実行します
Monthは毎年数ヶ月目にこのタスクを実行します
DayOfWeekは毎週の数日目にこのタスクを実行します.
Command実行するプログラムの指定
これらのフィールドでは、「Command」が毎回指定しなければならないフィールドである以外は、他のフィールドはオプションフィールドであり、必要に応じて決定されます.指定されていないフィールドについては、その位置を「*」で埋めます.
例を次に示します.1. 5 * * * * ls  // 5 ls
  1. 30 5 * * * ls  // 5:30 ls
  1. 30 7 8 * * ls  // 8 7:30 ls
  1. 30 5 8 6 * ls  // 6 8 5:30 ls
  1. 30 6 * * 0 ls  // 6:30 ls [ :0 ,1 1, , ,sun ,mon 。 ]
  1. 30 3 10,20 * * ls  // 10 20 3:30 ls [ :“,” ]
  1. 25 8-11 * * * ls  // 8-11 25 ls [ :“-” ]
  1. */15 * * * * ls  // 15 ls [ 0 15 30 45 60 ls ]
  1. 30 6 */10 * * ls  // , 10 6:30 ls [ 1、11、21、31 6:30 ls 。 ]
毎日7:50にrootとして/etc/cronを実行します.dailyディレクトリ内のすべての実行可能ファイル1. 50 7 * * * root run-parts /etc/cron.daily  //[ :run-parts , 。 ]
二、新規スケジュールタスク
 
新規スケジュールタスクには、次の2つの方法があります.
1、コマンドラインに:crontab-eを入力し、対応するタスクを追加し、wqディスクを終了します.
2、/etc/crontabファイル、すなわちvi/etc/crontabを直接編集し、対応するタスクを追加する.
三、スケジュールタスクの表示
crontab-l//現在のすべてのスケジューリングタスクをリスト
crontab-l-u jp//ユーザーjpのすべてのスケジューリングタスクのリスト
四、タスクスケジュール作業の削除
crontab-r//すべてのタスクスケジューリングを削除
五、任務スケジューリング実行結果の転向
例1:lsコマンドを毎日5:30に実行し、/jp/testファイルに結果を出力する
30 5 * * * ls >/jp/test 2>&1
注意:2>&1は実行結果およびエラー情報を表します.
編集/etc/crontabファイル構成cron
cronサービスは毎分/var/spool/cron内のすべてのファイルを読むだけでなく、/etc/crontabを読む必要があるので、このファイルを構成してもcronサービスを利用して何かをすることができます.crontabで構成するのはユーザー向けであり、編集/etc/crontabはシステム向けのタスクです.このファイルのファイル形式は次のとおりです.
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root//エラーが発生したり、データ出力があったりした場合は、このアカウントにメールとして送信します
HOME=////利用者が実行する経路、ここがルートディレクトリ
# run-parts 1. 01 * * * * root run-parts /etc/cron.hourly  // /etc/cron.hourly 1. 02 4 * * * root run-parts /etc/cron.daily  // /etc/cron.daily 1. 22 4 * * 0 root run-parts /etc/cron.weekly  // /etc/cron.weekly 1. 42 4 1 * * root run-parts /etc/cron.monthly  // /etc/cron.monthly
「run-parts」というパラメータに注意してください.このパラメータを削除すると、フォルダ名ではなく実行するスクリプト名を後で書くことができます.
例えば:1、コマンドラインに:crontab-eを入力し、対応するタスクを追加し、wqディスクを終了します.
2、直接/etc/crontabファイル、すなわちvi/etc/crontabを編集し、相応のタスクを追加する1. 11 2 21 10 * rm -rf /mnt/fb