linux自動啓動任務--crontab、at命令

本文基於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用戶的任務
// -e 代表編輯(edit) 如contab -u sxd -e :代表終端編輯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):系統配置文件目錄。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章