計畫任務的方式可以有兩種:
在 linux 中實現這兩個功能就要使用到at
和crontab
這兩個命令:
要使用單一計畫任務時,linux 必須要有負責這類計畫任務的服務,那就是atd
服務。使用
yum -y install at
然後手動啟動它:
systemctl restart atd # 重新啟動 atd 這個服務
systemctl enable atd # 讓這個服務開機就啟動
systemctl status atd # 檢視 atd 目前的狀態
使用at
這個命令來產生所要執行的任務,並將這個任務以文字檔案的方式寫入/var/spool/at/
這個目錄內,該任務便能等待atd
這個任務的使用與執行了。
at
命令的語法:
at [-mldv] time
選項與引數:
[admin@localhost ~]$ at now + 5 minutes
at> /bin/mail -s "testing" admin < /root/.bashrc
at> # 輸入 [ctrl] + d
注意:
如果想要指定任務在系統比較閒的時候才執行,此時就可以使用batch
命令,而batch
命令其實就是利用at
來執行命令的,它當cpu的任務負載小於0.8
的時候,才執行你的工作任務,使用batch
的語法與使用at
的類似。
任務負載的意思是:cpu 在單一時間點所負責的任務數量,而不是cpu的使用率,如有乙個程式需要一直使用 cpu 的運算功能,此時 cpu 的使用率可能達到迴圈執行的計畫任務是由100%
,當它的任務負載只是趨近於1
,如果有兩個程式同時執行,此時任務負載就變成2
cron
這個系統服務來控制的。這個系統任務是預設啟動的。
我們可以限制crontab
的使用者賬號,可以使用的配置檔案有(at
命令也有):
當使用者使用crontab
命令建立計畫任務之後,該項任務就會被記錄到/var/spool/cron
當中,而且是以賬號作為判斷依據,舉例,admin
使用者使用了crontab
後,它的任務就會被記錄到/var/spool/cron/admin
中,crontab
的語法如下:
crontab [-u username] [-l|-e|-r]
選項與引數:
同時,還有下面這些特殊字元:
一般來講:
/etc/crontab
是乙個純文字檔案,可以使用root
的身份編輯該檔案,基本上,cron
這個服務的最低檢測限制是分鐘,所以cron
會每分鐘去讀取一次/etc/crontab
與/etc/cron.d/
裡面的資料內容。
/ect/crontab
檔案的內容其實與使用crontab -e
時輸入的內容大致一樣,多出了以下幾個地方:
如果伺服器有個任務是定期迴圈執行的,但不巧的是當時間段伺服器發生了一些狀況比如停電之類的,導致該迴圈任務無法執行,此時就需要依靠anacron
這個命令了,該命令可以主動幫助執行時間到了但卻沒有執行的任務。
anacron
的目的就是處理非24小時執行的 linux 系統所執行的crontab
,以及因為某些原因導致的超過時間而沒有被執行的任務。anacron
實際是乙個程式,這個程式在 centos 當中已經進入crontab
的任務列表,從而每小時就會執行一次,以下列出工作流程來了解一下anacron
與crond
的關係:
也就是說,如果你每週日需要執行的操作是放置在/ect/crontab
的話,那麼該操作只要過期了就不會重新執行,但假如放置在/ect/cron.weekly/
目錄下,那麼就一定會執行,比如關機一周再開機,那麼在開機後的數小時內任務就會被主動執行。
Linux計畫任務入門詳解
linux作業系統定時任務系統 cron 入門 cron是乙個linux下的定時執行工具,可以在無需人工干預的情況下執行作業。由於cron 是linux的內建服務,但它不自動起來,可以用以下的方法啟動 關閉這個服務 sbin service crond start 啟動服務 sbin service...
Linux計畫任務入門詳解
linux作業系統定時任務系統 cron 入門 cron是乙個linux下的定時執行工具,可以在無需人工干預的情況下執行作業。由於cron 是linux的內建服務,但它不自動起來,可以用以下的方法啟動 關閉這個服務 sbin service crond start 啟動服務 sbin service...
Linux計畫任務入門詳解
linux作業系統定時任務系統 cron 入門 cron是乙個linux下的定時執行工具,可以在無需人工干預的情況下執行作業。由於cron 是linux的內建服務,但它不自動起來,可以用以下的方法啟動 關閉這個服務 sbin service crond start 啟動服務 sbin service...