linux下的計畫任務 crontab命令詳解

2021-08-10 14:46:17 字數 1966 閱讀 3708

crontab命令的功能是在一定的時間間隔排程一些命令的執行。linux中實現定時的任務,像實現某個指令碼請求或定時實現某個http請求時,我們可以用crontab命令。
當使用者使用 crontab 這個命令來建立工作排程之後,該項工作就會被紀錄到 /var/spool/cron/ 裡面去了,而且是以帳號來作為判別的喔!舉例來說, css使用 crontab 後, 他的工作會被紀錄到 /var/spool/cron/css 中,但請注意,不要使用 vi 直接編輯該檔案, 因為可能由於輸入語法錯誤,會導致無法執行 cron 喔!另外, cron 執行的每一項工作都會被紀錄到 /var/log/cron 這個登入檔中. crond服務的最低偵測限制是分鐘,所以 cron 會每分鐘去讀取一次 /etc/crontab 與 /var/spool/cron 裡面的資料內容 ,因此,只要你編輯完 /etc/crontab 這個檔案,並且將他儲存之後,那麼 cron 的配置就自動的會來執行了,如果你修改完的crontab或者新增的crontab沒有馬上的執行起來,那麼你可以用 service crond restart 來重啟.
看看/etc/下的所有cron的目錄:

特別注意的是

/etc/cron.deny 該檔案中所列使用者不允許使用crontab命令

/etc/cron.allow 該檔案中所列使用者允許使用crontab命令

最好是對crontab命令進行備份,因為 crontab -e 和crontab -r 中乙個是寫入 乙個是刪除,而e和r又相離很近,所以要注意這一點,很容易誤刪crontab這個檔案.

使用者所建立的crontab檔案中,每一行都代表一項任務,每行的每個字段代表一項設定,它的格式共分為六個字段,前五段是時間設定段,第六段是要執行的命令段,格式如下:
minute

hour

daymonth week command

其中:minute: 表示分鐘,可以是從0到59之間的任何整數。

hour: 表示小時,可以是從0到23之間的任何整數。

day: 表示日期,可以是從1到31之間的任何整數。

month: 表示月份,可以是從1到12之間的任何整數。

week: 表示星期幾,可以是從0到7之間的任何整數,這裡的0或7代表星期日。

crontab [-u username] [-l|-e|-r]
選項與引數:

-u :只有 root 才能進行這個任務,亦即幫其他使用者建立/移除 crontab 工作排程;

-e :編輯 crontab 的工作內容

-l :查閱 crontab 的工作內容

前四行是用來配置crond任務執行的環境變數

第一行shell變數指定了系統要使用哪個shell,這裡是bash

第二行path變數指定了系統執行命令的路徑

第三行mailto變數指定了crond的任務執行資訊將通過電子郵件傳送給root使用者,如果mailto變數的值為空,則表示不傳送任務執行資訊給使用者

第四行的home變數指定了在執行命令或者指令碼時使用的主目錄

ubuntu下計畫任務cron

sudo vim etc rsyslog.d 50 default.conf cron是linux下的計畫任務,其對應的服務為crond。在ubuntu下使用cron和在其他linux發行版下使用cron大同小異。本人使用的ubuntu 12.10在安裝好後附帶了cron程式,可用於crond服務的...

cron計畫任務

1.列出計畫列表 crontab l u mysql 具體的檔案放在 var spool cron root 使用者 2.修改計畫 crontab e 3.刪除當前 crontab 檔案 crontab r 4.計畫任務意思 第1列分鐘1 59 第2列小時1 23 0表示子夜 第3列日1 31 第4...

計畫任務cron

原定的計畫任務 0 0 cd preload nohup sh preload4.sh ip.list dev null 2 1 缺省會在00 00點準時做預載入 指令碼名稱preload4.sh 預載入檔案 txt 預載入裝置 ip.list 客戶定期會有預載入功能 每次只需要登陸裝置 更換 tx...