Linux之定時任務

2021-09-29 23:27:12 字數 2078 閱讀 1908

crontab命令用於設定週期性被執行的指令。該命令從標準輸入裝置讀取指令,並將其存放於「crontab」檔案中,以供之後讀取和執行。

1.檢查是否安裝了crontab,如果提示未安裝請自行安裝,crontab安裝包在系統光碟裡面的pacekage資料夾crontabs安裝包。

rpm -qa | grep crontab

2.crontab服務啟動與關閉。

/etc/init.d/crond stop --關閉服務

/etc/init.d/crond start --啟動服務

/etc/init.d/crond restart --重啟服務

/etc/init.d/crond reload --重新載入配置

3.crontab在/etc目錄下面存在cron.hourly,cron.daily,cron.weekly,cron.monthly,cron.d五個目錄和crontab,cron.deny二個檔案。

cron.daily是每天執行一次的job

cron.weekly是每個星期執行一次的job

cron.monthly是每月執行一次的job

cron.hourly是每個小時執行一次的job

cron.d是系統自動定期需要做的任務

crontab是設定定時任務執行檔案

cron.deny檔案就是用於控制不讓哪些使用者使用crontab的功能

4.使用者配置檔案:

每個使用者都有自己的cron配置檔案,通過crontab -e 就可以編輯,一般情況下我們編輯好使用者的cron配置檔案儲存退出後,系統會自動就存放於/var/spool/cron/目錄中,檔案以使用者名稱命名.linux的cron服務是每隔一分鐘去讀取一次/var/spool/cron,/etc/crontab,/etc/cron.d下面所有的內容.

5.crontab檔案格式:

minute hour day month week command

分 時 天 月 星期 命令

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

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

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

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

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

6.特殊字元:

星號(*):代表每的意思,例如month欄位如果是星號,則表示每月都執行該命令操作。

逗號(,):表示分隔時段的意思,例如,「1,3,5,7,9」。

中槓(-):表示乙個時間範圍,例如「2-6」表示「2,3,4,5,6」。

正斜線(/):可以用正斜線指定時間的間隔頻率,例如「0-23/2」表示每兩小時執行一次。同時正斜線可以和星號一起使用,例如*/10,如果用在minute欄位,表示每十分鐘執行一次。

7.在home目錄下編寫乙個test.sh指令碼。

chmod a+x /home/test.sh --給test.sh指令碼執行賦權

ll /home/test.sh --檢視指令碼是否有執行許可權

8.執行crontab –e 編寫一條定時任務 */5 * * * * /home/test.sh 在每5分鐘執行一次test.sh指令碼。

crontab -e

*/5 * * * * /home/test.sh

9.查詢當前使用者定時任務或刪除當前使用者定時任務。

crontab -l --列出當前使用者定時任務

crontab -r --刪除當前使用者定時任務(刪除所有,除非不再使用,否則沒必要使用

10.設定crond開機自動啟動。

chkconfig --list crond --檢視crond是否開機自動啟動

chkconfig --level 35 crond on --設定crond開機自動啟動

遇到的問題:

新建立的cron job,不會馬上執行,至少要過2分鐘才執行。如果重啟cron則馬上執行。

當crontab突然失效時,可以嘗試/etc/init.d/crond restart解決問題。或者檢視日誌看某個job有沒有執行/報錯tail -f /var/log/cron。

不要忘記給新增的指令碼賦權

linux定時任務 at定時任務

at命令是一次性定時計畫任務,at的守護程序atd會以後臺模式執行,檢查作業佇列來執行作業。atd守護程序會檢查系統上的乙個特殊目錄來獲取at命令的提交的作業,預設情況下,atd守護程序每60秒檢查一次目錄,有作業時,會檢查作業執行時間,如果時間與當前時間匹配,則執行此作業。注意 at命令是一次性定...

Linux之定時任務

可以改為如下 僅供參考 shell bin bash path sbin bin usr sbin usr bin mailto root 如果出現錯誤,或者有資料輸出,資料作為郵件發給這個帳號 home 使用者執行的路徑,這裡是根目錄 run parts 01 root run parts etc...

Linux之定時任務

linux 定時任務 實現linux定時任務有 cron anacron at等,這裡主要介紹cron服務。名詞解釋 cron是服務名稱,crond是後台程序,crontab則是定製好的計畫任務表。軟體包安裝 要使用cron服務,先要安裝vixie cron軟體包和crontabs軟體包,兩個軟體包...