Linux入門筆記(計畫任務)

2021-09-25 19:27:20 字數 2383 閱讀 5579

計畫任務的方式可以有兩種:

在 linux 中實現這兩個功能就要使用到atcrontab這兩個命令:

要使用單一計畫任務時,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的任務列表,從而每小時就會執行一次,以下列出工作流程來了解一下anacroncrond的關係:

也就是說,如果你每週日需要執行的操作是放置在/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...