Debianのタイミング実行コマンドCrontab

4216 ワード

転載:http://i.592.net/?post=276
 
Debianのタイミング実行コマンドCrontabは、Windowsの計画タスクに相当します.
    Debianをタイミングよく命令するにはcrontabが必要です.    その機能はマイクロソフトの計画タスクと似ています.あなたが設定した時間にあなたが望む命令を実行できます.    設定ファイルを作成することで、複雑な実行期間を組み合わせることができ、コマンドの実行をより効率的にすることができます.
cron設定ファイルはDebianシステムの下にあります.  /etc/crontab
大体の内容は以下の通りです.01# /etc/crontab: system-wide crontab02# Unlike any other crontab you don't have to run the `crontab'03# command to install the newversion when you edit this file.04# This file also has a username field, that none of the other crontabs do.05  06SHELL=/bin/sh07PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin08  09# m h dom mon dow user command1017 * * * * root run-parts --report /etc/cron.hourly1125 6 * * * root test -x /usr/sbin/anacron || run-parts --report /etc/cron.daily1247 6 * * 7 root test -x /usr/sbin/anacron || run-parts --report /etc/cron.weekly1352 6 1 * * root test -x /usr/sbin/anacron || run-parts --report /etc/cron.monthly140 20 1 * * root /usr/bin/updatedb15#設定が必要なのは、氡m h dom mon dom mon dom mon dom mon dom mon dom dom mondsの下の部分は左から右に対応するという意味です.
0-59に分ける  時0-23  日1-31   月1-12  週0-7  コマンドを実行するユーザ  コマンド
その中で面白いのは、周、0、7は日曜日を表します.
使用できる特殊記号は
*(アスタリスク)   すべての時間を表します.(コンマ)   同じ分類を表すなら、どれぐらいの値がありますか?(マイナス記号)   この期間内に実行する/nを表します.          n時間ごとに実行します.
サンプル:
30 12**command:   毎日12:30にcommand0 6,12 15*command:毎月15日の6:00と12:00にcommand10 8-15*command:毎年6月1~15日の8:10にcommand5*7 commandを実行します.   日曜日は5分ごとに1回マンマンを実行します.
タイマー文法:上の計画課題の第一部です.いつ計画タスクを実行するかを決めました.
これは5つの部分を含んでいます  1分(0-59)  2.時間(0-23)  3.一ヶ月のどの日(1-31)  4.一年のどの月(1-12)  5.何曜日(0は日曜日)
  星印  ある部分に数字ではなく星番号が現れたら、その部分が示す時間は全部実行されます.
すぐには言いにくいかもしれません.例を見てみましょう.
例:   1、次の計画タスクは常に実行されます.        * * * * * [command]
   2、次の計画タスクは毎時0分に運行されます.(1時間に1回実行されます.)        0***[command]
   3、次は相変わらず1時間に一回の計画任務です.毎時15分に運行します.       15***[command]
   4、次の計画任務は毎日一回実行して、2:30分になります.        30 2**[command]
   5、下記の計画任務は毎月2日の真夜中に実行します.        0 0 2*[command]
   6、次の計画タスクは毎週月曜日の時間0分に一回実行します.        0**1[command]
   7、下のは1時間に3回運行します.0分、10分、20分で運行します.        0,10,20***[command]
   8、以下は除号「/」で何回運行するかを表します.
        */5***[command]    5分ごとに運行します.
        00*/2*** [command]    2時間ごとに運行します. [command]  この書き方は間違いです!)
   */1****root wget-O/var/log/cron.txthttp://www.592.net/test.php    分ごとにウェブサイトのあるPHPのシナリオを訪問して、毎分自動的にPHPを運行しているかどうかを確認します.var/log/cron.txtファイルを確認して、ウェブサイトのPHPが戻ってくる内容があるかどうかを確認してください.
   9、「-」で範囲を表してもいいです.次のように5~10時の各整数点で一回運行します.        0-10**[command]
   10、他にも特殊なタイムキー「@reboot」があります.サーバーを再起動するたびに計画タスクを実行します.        @reboot[command]
 
計画タスクの設定と管理    Crontabを編集して、計画タスクを設定します.次のコマンドを使って、viでcrontabの内容を開いて編集します.crontab-e
見たいだけなら、編集は不要です.次のコマンドを使ってください.
crontabの内容を削除するには、すべての計画タスクを削除します.これはできます.
 
    cronはlinuxのタイミングでツールを実行し、手を加えずに作業を実行することができます.CronはLinuxの内蔵サービスですが、彼は自動的に立ち上がりません.以下の方法でこのサービスを起動、クローズできます.
編集/etc/crontabファイル構成cron
cronサービスは毎分に一回/var/spool/cron内のすべてのファイルを読むだけではなく、一回/etc/crontabを読む必要があります.だから、このファイルを配置してもcronサービスを利用して何かをすることができます.crontabで構成するのはあるユーザーに対してで、編集/etc/crontabはシステムに対する任務です.このファイルのファイル形式は、SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MALTO=root//エラーが発生した場合、またはデータ出力があったら、このアカウントHOME=/使用者が実行するパスにメールとしてデータを送信します.ここはルートディレクトリです.シナリオ02****root run-parts/etc/crony/毎時間実行/etc/crong.horly内のスクリプト02 4**root run-parts/etc/crot/daily/毎日実行/etc/cron.daily内のスクリプト22*kweetc/partsアート/etc/cron.mothly/毎月実行/etc/cron.mothly内のスクリプト
皆さんは「run-parts」というパラメータに注意してください.このパラメータを除いたら、後から実行するスクリプトの名前を書くことができます.ファイル名ではありません.
再起動コマンド:Debian   /etc/init.d/cron retart
Linux   /etc/rc.d/init.d/crond retart