天天看點

CentOS中的cron計劃任務配置方法

1、crontab指令選項

格式: # crontab -u <-l, -r, -e> -u 指定一個使用者 -l 列出某個使用者的任務計劃 -r 删除某個使用者的任務 -e 編輯某個使用者的任務

2、cron檔案文法與寫法 可用crontab -e指令來編輯,編輯的是/var/spool/cron下對應使用者的cron檔案,也可以直接修改/etc/crontab檔案。具體格式如下: |Minute  Hour  Day   Month  Week  command |分鐘    小時  天    月     星期  指令 |0-59    0-23  1-31  1-12   0-6   command 每個字段代表的含義如下: |Minute 每個小時的第幾分鐘執行該任務 |Hour 每天的第幾個小時執行該任務 |Day 每月的第幾天執行該任務 |Month 每年的第幾個月執行該任務 |DayOfWeek 每周的第幾天執行該任務,0表示周日 |Command 指定要執行的程式 、腳本或指令 注:在這些字段裡,除了“Command”是必須指定的字段以外,其它字段皆為可選。對于不指定的字段,要用“*”來填補其位置。 3、幾個特殊符号的含義 “*”代表取值範圍内的數字, “/”代表”每”, “-”代表從某個數字到某個數字, “,”分開幾個離散的數字 4、關于cron配置檔案/etc/crontab cron的主要配置檔案是/etc/crontab,它包括下面幾行: SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # run-parts 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly 前四行是用來配置 cron 任務運作環境的變量: SHELL 變量的值指定shell 環境(此處預設為 bash shell); PATH 變量定義用來執行指令的程式路徑; cron 任務的輸出被郵寄給 MAILTO 變量定義的使用者名,如果 MAILTO變量被定義為空白字元串(MAILTO=""),電子郵件就不會被寄出; HOME 變量可以用來設定在執行指令或腳本時使用的主目錄。

如在 /etc/crontab 檔案中run-parts部分所示,它使用 run-parts 腳本來執行存在于 /etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly 和 /etc/cron.monthly 目錄中的腳本,這些腳本被相應地按照預設時間在每小時、每日、每周、或每月執行。這些目錄中的檔案應該是 shell 腳本,并且具有可執行權限(chmod +x filename)。

如果某 cron 任務需要根據排程來執行,而不是每小時、每日、每周、或每月地執行,它可以被添加到/etc/cron.d目錄中。該目錄中的所有檔案使用和 /etc/crontab 中一樣的文法。

每次編輯完某個使用者的cron設定後,cron自動在/var/spool/cron下生成一個與此使用者同名的檔案,此使用者的cron資訊都記錄在這個檔案中,這個檔案是不可以直接編輯的,隻可以用crontab -e 來編輯。cron啟動後每過一份鐘讀一次這個檔案,檢查是否要執行裡面的指令。是以此檔案修改後不需要重新啟動cron服務。

繼續閱讀