crontabの定期的なタスク
I.はじめに
システムは、crontabコマンドによって定期的に命令やシェルスクリプトを実行することができます。
二、crontabの設定ファイル:
2つのカテゴリに分類されのLinuxのタスクスケジューリング:システムとユーザーのタスクスケジューリングタスクのスケジューリング。
制御するためにcron(crond)システムサービスにより、Linuxシステムのタスクは、このシステムサービスは、デフォルトで有効になっています。ユーザー自身の使用のcrontabコマンドで設定されたスケジュールされたタスク。
crontabの設定ファイルを表示します。
[ルート@ localhostの〜]#猫の/ etc / crontabの SHELL = / binに/ bashのの PATH = / sbinに:/ binにします。/ usr / sbinにします。/ usr / binに MAILTO = ルート の詳細については#男参照4つのcrontabファイル ジョブ定義の#例: #。----------------分(0 - 59 ) # | .-------------時間(0 - 23 ) # | | 月の.----------日(1 - 31 ) # | | | .-------月(1 - 12 )OR 1月、2月、傷、4月... #| | | | .----曜日(0 - 6)(日曜日= 0または7 )OR日は、月曜、火曜は、結婚、木、金は、座って #を | | | | | # * * * * *ユーザー名コマンドが実行されます
分析:
最初の行は、システムが使用するシェル環境を指定します
第二の経路指定されたラインシステムを実行します
三行目はcrondタスク実行情報は、MAILTO変数が空の場合、それはユーザーのタスクの実行に情報を送信しないことを意味し、rootユーザーに電子メールで送信されます指定します
注:すべてのユーザー定義のcrontabファイルは/ var / spool / cronディレクトリに格納されています。そのファイル名とユーザー名と一致して
三、crontabのファイルの意味
ユーザによって作成されたのcrontabファイルは、各行がタスクを表し、セットの各列を表す各フィールドは、そのフォーマットは、6つのフィールドに分割された期間は、最初の5つの期間で設定されている、第六段落でありますコマンドセクションが実行されます
次の形式:分時間日月の週コマンド
分:1時間の代表画分に、0-59の範囲です。
時間:0〜23の範囲、その日の最初の数時間を表しています。
MDAY:範囲1-31、月の最初の日を表します。
月:年の最初の数ヶ月は、1〜12の範囲を表しています。
週:週に代わって、範囲0-7(0と7は日曜日です)。
誰:どのような能力への指示は、あなたがのcrontab -eを使用するときに実行されることは、このフィールドを追加しないでください。
コマンド:コマンドが実行されます。
「*」そして、* 1から12ヶ月で、月フィールドなどの値の範囲内にあるすべての数字を表します。
「/」は、分フィールド* / 10のように、それぞれ所定の時間間隔の平均を表し、1つの意味は、10分毎に行きました。
「 - 」は閉じた間隔で、範囲から間隔を表します。「2-5」フィールド0-23時間/ 2の範囲内で0〜23点から二時間おきに一度行われ、「2,3,4,5」を示します。
例えば1,2,3,4,7,9など「」分散番号(必ずしも連続していません)。
四、詳細なcrontabコマンド
フォーマット:crontabの[-uユーザー]ファイル
crontabの[-uユーザ] [-i] {-e | -l | -r}
- •-uユーザ:ユーザのcrontabサービスを設定します。
- •ファイル:コマンドファイルのファイル名は、それがcrontabのタスクリストファイルを提出し、crontabファイルにロードされたと述べました。
- •-e:ユーザーが現在のユーザーを示し指定しなかった場合、ユーザーのcrontabファイルの内容を編集します。
- •-l:指定されていないユーザーは、現在のユーザーを言っている場合、ユーザーのcrontabファイルの内容を表示します。
- •-r:/ var / spool / cronディレクトリからユーザーのcrontabファイルを削除します。
- •-i:あなたが確認プロンプトにユーザーのcrontabファイルを削除します。
五、crontabの例
1)コマンドを実行するには、毎分(一回のスキャンあたりのcronのデフォルトは1分ので、そう)すべてのことができます*です
* * * * *コマンド
毎時3~15分間実行コマンド2)
3、15 * * * *コマンド
3)毎日のコマンド8-11午前を実行するために3と15分は:
3、15 8 - 11 * * *コマンド
4)15分間、3日間実行コマンド2 AM 8-11点の間隔で:
3,15 8-11 */2 * * command
0 0 */2 * * command //每隔两天凌晨执行command
5)每个星期一的上午8点到11点的第3和第15分钟执行command
3,15 8-11 * * 1 command
6)每晚的21:30重启smb
30 21 * * * /etc/init.d/smb restart
7)每月1、10、22日的4 : 45重启smb
45 4 1,10,22 * * /etc/init.d/smb restart
8)每周六、周日的1 : 10重启smb
10 1 * * 6,0 /etc/init.d/smb restart
9)每天18 : 00至23 : 00之间每隔30分钟重启smb
0,30 18-23 * * * /etc/init.d/smb restart
10)每一小时重启smb
* */1 * * * /etc/init.d/smb restart
11)晚上11点到早上7点之间,每隔一小时重启smb
* 23-7/1 * * * /etc/init.d/smb restart
12)每月的4号与每周一到周三的11点重启smb
0 11 4 * mon-wed /etc/init.d/smb restart
13)每小时执行/etc/cron.hourly目录内的脚本
0 1 * * * root run-parts /etc/cron.hourly