Linux定時任務計畫

2021-09-19 18:13:30 字數 1732 閱讀 2267

linux定時任務計畫

在使用linux系統時,我們有時會需要讓系統在某個時間去執行特定的任務,這時就需要去了解linux提供的定時任務功能

種類linux的定時任務分為兩種:單一型和迴圈型

單一型:at

atd啟動

at:是乙個可以處理僅執行一次就結束的命令,執行at時,必須開啟atd服務.

使用/etc/init.d/atd status或systemctl status atd來檢視atd服務狀態.

如果系統中沒有此服務,可以使用yum -y install at來安裝.安裝後,再來檢視atd狀態.

安裝後是關閉狀態,執行systemctl start atd開啟即可.

systemctl enable atd設定開機啟動,可以使用systemctl list-unit-files | grep atd或systemctl is-enabled atd來確認是否設定成功

at執行方式

at將要執行的工作以文字的方式寫入/var/spool/at/中,等待atd服務的呼叫與執行.

可以通過/etc/at.allow和/etc/at.deny兩個檔案來管理at的使用許可權

先查詢/etc/at.allow檔案,只有存在此檔案中的使用者才能使用at

如果/etc/at.allow檔案不存在,則尋找/etc/at.deny,存在於/etc/at.deny中的使用者則不能使用at

如果上述兩個檔案都不存在,則只有root才能使用at

/etc/at.allow的優先順序要高於/etc/at.deny

at基本用法

使用man at可以檢視at的用法

常用引數:

-m:at工作完成後,傳送email告知使用者工作已完成.

-l:atq的別名,列出系統上所有該使用者的at工作.

-d:atrm的別名,取消乙個at工作.

-v:使用易讀的時間格式列出at工作列表.

-c:列出某項工作的具體內容,後面要加上某工作的id,如at -c 6

新增任務示例:

刪除任務示例:

batch:系統空閒時才會執行

batch當cpu負載小於0.8時,才會執行設定的工作任務.新增任務時不需要指定時間,系統會在空閒時自動執行,其他操作同at,如:

迴圈型:crontab

crond啟動

使用systemctl start crond來啟動服務

crontab許可權管理

與at相似

/etc/cron.allow:寫在其中的賬號可以使用crontab

/etc/cron.deny:寫在其中的賬號被禁止使用crontab

crontab命令語法

使用crontab -e會進入vi編輯頁面,一項任務一行:

* command

第一列表示分鐘,取值範圍:0-59,*/30表示每30分鐘執行

第二列表示小時,*代表每個小時都會執行

第三列表示每月的第幾天,取值:1-31

第四列表示月份,取值:1-12

第五列表示每週的第幾天,取值:0-7,0和7都代表週日

第六列表示要執行的命令

取值除了用,也可以使用,和-表示:如10,20,30

1-5 command表示在工作日的每10分鐘,20分鐘,30分鐘執行

使用crontab -l來檢視當前已設定的任務:

使用crontab -r刪除所有設定的任務,如果需要刪除某項特定的任務,需使用crontab -e進入到編輯頁面,然後刪除指定行

Linux定時任務計畫

linux定時任務計畫 在使用linux系統時,我們有時會需要讓系統在某個時間去執行特定的任務,這時就需要去了解linux提供的定時任務功能 種類linux的定時任務分為兩種 單一型和迴圈型 單一型 at atd啟動 at 是乙個可以處理僅執行一次就結束的命令,執行at時,必須開啟atd服務.使用 ...

linux定時任務 at定時任務

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

linux定時任務

crontab 設定定時任務 crontab 可以根據分鐘 小時 日期 月份 星期的組合來設定定時任務的自動執行 要使用該服務必須啟動 crond 服務,檢視 crond 服務有沒有啟動,執行命令 servicecrond status 一些任務事例,幫助理解 3020 root back.sh 每...