Linux計畫任務

2022-08-03 00:57:13 字數 3115 閱讀 1546

linux計畫任務

linux 系統則是由 cron (crond) 這個系統服務來控制的。linux 系統上面原本就有非常多的計畫性工作,因此這個系統服務是預設啟動的。另 外, 由於使用者自己也可以設定計畫任務,所以, linux 系統也提供了使用者控制計畫任務的命令 :crontab 命令。

crond 是linux下用來週期性的執行某種任務或等待處理某些事件的乙個守護程序,與windows下的計畫任務類似,當安裝完成作業系統後,缺省會安裝此服務 工具,並且會自動啟動crond程序,crond程序每分鐘會定期檢查是否有要執行的任務,如果有要執行的任務,則自動執行該任務。

計畫任務分為一次性計畫任務(at)和週期性計畫任務(croutab)。

linux任務排程的工作主要分為以下兩類:

*系統執行的工作:系統週期性所要執行的工作,如備份系統資料、清理快取

*個人執行的工作:某個使用者定期要做的工作,例如每隔10分鐘檢查郵件伺服器是否有新信,這些工作可由每個使用者自行設定。

一、crond服務的啟動

/sbin/service crond start   #啟動服務

/sbin/service crond stop   #關閉服務

/sbin/service crond restart   #重啟服務

/sbin/service crond reload   #重新載入配置

二、crontab命令選項

crond服務提供crontab命令來設定cron服務的,以下是這個命令的一些引數與說明:

crontab -u     #設定某個使用者的crond服務,一般root使用者在執行這個命令的時候需要此引數

crontab -l     #列出某個使用者crond服務的詳細內容

crontab -r     #刪除某個使用者的crond服務

crontab -e     #編輯某個使用者的crond服務

crontab -i     #在刪除使用者的crontab檔案時給確認提示

比如說root檢視自己的cron設定:crontab -u root -l

再例如,root想刪除fred的cron設定:crontab -u fred -r

三、語法格式

分     小時      日       月       星期      命令

0-59   0-23   1-31   1-12     0-6     command     (取值範圍,0表示週日一般一行對應乙個任務)

5       *       *       *      *    /bin/ls /home              #指定每小時的第5分鐘執行一次ls命令

星號(*):代表所有可能的值。

逗號(,):可以用逗號隔開的值指定乙個列表範圍,例如,「1,2,5,7,8,9」

中槓(-):可以用整數之間的中槓表示乙個整數範圍,例如「2-6」表示「2,3,4,5,6」

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

四、例項

30     5       *       *      *     /bin/ls /home              指定每天的 5:30 執行/bin/ls /home命令

30     7       8       *      *      /bin/ls /home             #指定每月8號的7:30分執行/bin/ls /home命令

30     5       8       6      *      /bin/ls /home             #指定每年的6月8日5:30執行/bin/ls /home命令

30     6       *       *      0      /bin/ls /home             #指定每星期日的6:30執行/bin/ls /home命令[注:0表示星期天,1表示星期1,以此類推,也可以用英文來表示,sun表示星期天,mon表示星期一等。]

30     3   10,20     *      *      /bin/ls /home             #每月10號及20號的3:30執行/bin/ls /home命令[注:」,」用來連線多個不連續的時段]

25     8-11  *        *     *      /bin/ls /home             #每天8-11點的第25分鐘執行/bin/ls /home命令[注:」-」用來連線連續的時段]

*/15   *      *        *     *      /bin/ls /home            #每15分鐘執行一次/bin/ls /home命令 [即每個小時的第0 15 30 45 60分鐘執行/bin/ls /home命令 ]

30     6    */10      *     *      /bin/ls /home            #每個月中,每隔10天6:30執行一次/bin/ls /home命令[即每月的1、11、21、31日是的6:30執行一次/bin/ls /home命令。 ]

50    7       *         *     *     root run-parts /etc/cron.daily   #每天7:50以root 身份執行/etc/cron.daily目錄中的所有可執行檔案[ 注:run-parts引數表示,執行後面目錄中的所有可執行檔案。 ]

五、新增計畫任務的兩種方法

六、注意事項

在新增計畫任務時,所執行的命令和指令碼檔案建議以絕對路徑新增,否則可能會出現無法執行的情況。

七、其他

使用者任務排程:使用者定期要執行的工作,比如使用者資料備份、定時郵件提醒等。使用者可以使用 crontab 工具來定製自己的計畫任務。所有使用者定義的crontab 檔案都被儲存在 /var/spool/cron目錄中。其檔名與使用者名稱一致。

使用者許可權檔案:

檔案:/etc/cron.deny

說明:該檔案中所列使用者不允許使用crontab命令

檔案:/etc/cron.allow

說明:該檔案中所列使用者允許使用crontab命令

檔案:/var/spool/cron/

說明:所有使用者crontab檔案存放的目錄,以使用者名稱命名

Linux計畫任務

1.at命令 指定乙個時間執行乙個任務。2.cron命令 根據乙個時間表自動執行任務。3.anacron命令 在乙個指定時間間隔錯過後自動執行任務。at命令 安排乙個任務在未來執行,需要乙個系統後台atd程序。4.如果這個程序沒有開啟,那麼執行 etc init.d atd restart chkc...

Linux 計畫任務

at命令可以在某一指定時間排程一次性作業命令格式 at q x l f file d v time引數含義 q使用指定的佇列來儲存at資料,預設儲存在a佇列,隊列表號為a z,a z總52個 l列出所有的at計畫任務,等同於atq命令 d刪除at計畫任務,等同於atrm v列出所有已經完成單尚未刪除...

linux計畫任務

cron是乙個linux下的定時執行工具,可以在無需人工干預的情況下執行作業。由於cron 是linux的內建服務,但它不自動起來,可以用以下的方法啟動 關閉這個服務 sbin service crond start 啟動服務 sbin service crond stop 關閉服務 sbin se...