linux自動啟動任務 crontab at命令

2021-10-07 08:58:26 字數 2491 閱讀 1526

本文基於centos-7-x86_64-minimal-2003.iso映象版本:

自動啟動任務的分類:單一任務和迴圈任務。對應的命令是at和crontab。

單一任務:at命令

問題:什麼是atd?

答:atd是乙個服務,atd名字拆分為at(命令) +daemon(守護程序)

問題:什麼是daemon(守護程序)

答:就好比atd是諸葛亮,at命令是阿斗。

安裝atd服務: yum install  atd

檢視atd服務是否啟動:systemctl status atd 輸出結果如下:

● atd.service - job spooling tools

loaded: loaded (/usr/lib/systemd/system/atd.service; enabled; vendor preset: enabled)

active: inactive (dead)

// enabled代表開機啟動 inactive 代表沒有執行。

啟動atd服務:systemctl start atd

重啟atd服務:systemctl restart atd

關閉atd服務:systemctl stop atd

atd設定開機啟動:systemctl enable atd

使用者使用許可權

vim /etc/at.deny     #  裡面寫的是使用者黑明單,說明這些使用者不能使用at命令
問題:如何設定單一任務:(因為目前我的工作中只用到了crontab,所以暫時不學語法。)

迴圈任務(crontab命令,守護服務crond):

crontab的檢視服務那些命令同atd:比如啟動crond服務 systemctl crond start。

使用者使用許可權

vim /etc/cron.deny    #  裡面寫的是使用者黑明單,說明這些使用者不能使用crontab命令
crontab命令語法(man crontab檢視):

crontab [-u user] file

crontab [-u user] [-l | -r | -e] [-i] [-s]

crontab -n [ hostname ]

crontab -c

// -u 代表使用者(user) 如: crontab -u sxd

// -l 代表列表(list) 如 crontab -u sxd -l :代表終端列出為sxd使用者的任務

// -r 代表移除(remove) 如contab -u sxd -r:代表終端移除sxd使用者的任務

// 上面的-u sxd 我是在root許可權上操作別人的東西,如果自己操作 可以去掉 -u sxd

// -n /-c好像跟集群有關的,自己有什麼需求自行去了解。

crontab迴圈任務語法:

時間設定+命令:

而時間有分鐘(0-59)、小時(0-23)、天(1-31)、月(1-12)、周(0-7)。

比如:58,59 * * * * echo "hello.world" > /home/sxd/test.txt

* * * * * echo "hello.world" > /home/sxd/test.txt

// 所以第乙個*為分鐘設定值,第二*為小時設定值

// * 代表:任何範圍內的值,比如第一*代表分鐘範圍內0-59的任何值。

// ,代表:多個時間點 比如3,6 **** 代表3分鐘、6分鐘都執行任務,執行了2次。

// - 代表:時間段 比如3-6 **** 代表分鐘在3分鐘到6分鐘之內執行

// /n 代表:每隔,不如 */10**** 代表每隔10分鐘執行

ps:重點:編輯任務時要有空格。

問題:什麼是crontab、什麼是cron、什麼是crond:

答:可以認為cron就是crond,是crontab命令的守護服務。

crontab命令會涉及的檔案:

/etc/crontab:與系統有關的迴圈任務編寫檔案

/etc/cron.d/*:與系統有關的迴圈任務編寫檔案

/var/spool/cron/*: 這裡的星號代表使用者名稱,裡面有使用者crontab -e 編輯的任務。

/var/log/cron: crontab執行後記錄的日誌檔案,如果任務不生效,可以看這裡。

/etc/cron-weekly等等:系統每週執行的任務

anacron命令:

保證特殊情況cron未被執行的迴圈任務 能被執行,有需求的自行去研究。
解釋下名詞:

/var: 目錄主要針對常態性變動的檔案,包括快取(cache)、登入檔(log file)以及某些軟體運作所產生的檔案

/var/spool(卷):,也就是佇列資料

/etc(editable text configuration):系統配置檔案目錄。

linux定時任務cron

一 cron格式 其格式如下 minute hour day month dayofweek command 分鐘 小時 天 月 天每星期 命令 比如 15 ls 表示每15分鐘執行一次ls 即每個小時的第0 15 30 45 60分鐘執行ls命令 25 8 11 ls 每天8 11點的第25分鐘執...

linux命令 任務計畫 cron

任務計畫,有時間規律的執行某些事情。檢視任務計畫 crontab l 指定使用者 crontab l u 使用者名稱 該使用者沒有任務計畫。自定義任務計畫 進入乙個操作和vim類似的介面 用空格分開 這段任務計畫的意思是 每隔一分鐘就把 hou hou 寫入到 1.txt 一次。前面5段分別表示 分...

Linux計畫任務 cron服務

計畫任務,是系統自動完成工作的一種實現方式,通過shell和linux unix下的crontab 計畫任務控制 的方式實現。cron是計畫任務的稱呼,crond是後台程序,而crontab則是定製好的計畫任務表。cron 這個名字來自 chronos 乙個古希臘語,時間 的意思。linux的自動執...