crontab是linux自帶的嗎

2022-06-17 14:02:40

是的,crontab是linux系統下自帶的定時任務工具,使用者可以使用crontab工具來客製化自己的計劃任務。通過crontab命令,使用者可以在固定的間隔時間執行指定的系統指令或shell指令碼,語法「crontab [-u user] file」或「crontab [-u user] [-e|-l|-r]」;時間間隔的單位可以是分鐘、小時、日、月、周及以上的任意組合。

本教學操作環境:linux7.3系統、Dell G3電腦。

linux 系統則是由 cron (crond) 這個系統服務來控制的。Linux 系統上面原本就有非常多的計劃性工作,因此這個系統服務是預設啟動的。另 外, 由於使用者自己也可以設定計劃任務,所以, Linux 系統也提供了使用者控制計劃任務的命令 :crontab 命令。)

Linux下的任務排程分為兩類,系統任務排程和使用者任務排程。

  • 系統任務排程:

    系統週期性所要執行的工作,比如寫快取資料到硬碟、紀錄檔清理等。在/etc目錄下有一個crontab檔案,這個就是系統任務排程的組態檔。

  • 使用者任務排程:

    使用者定期要執行的工作,比如使用者資料備份、定時郵件提醒等。使用者可以使用 crontab 工具來客製化自己的計劃任務。所有使用者定義的crontab 檔案都被儲存在 /var/spool/cron目錄中。其檔名與使用者名稱一致。

crontab是linux系統下自帶的定時任務工具。

crontab命令詳解

1.命令格式:

crontab [-u user] file
crontab [-u user] [ -e | -l | -r ]

2.命令功能:

通過crontab 命令,我們可以在固定的間隔時間執行指定的系統指令或 shell script指令碼。時間間隔的單位可以是分鐘、小時、日、月、周及以上的任意組合。這個命令非常設合週期性的紀錄檔分析或資料備份等工作。

3.命令引數:

-u user:用來設定某個使用者的crontab服務,例如,「-u ixdba」表示設定ixdba使用者的crontab服務,此引數一般有root使用者來執行。

file:file是命令檔案的名字,表示將file做為crontab的任務列表檔案並載入crontab。如果在命令列中沒有指定這個檔案,crontab命令將接受標準輸入(鍵盤)上鍵入的命令,並將它們載入crontab。

-e:編輯某個使用者的crontab檔案內容。如果不指定使用者,則表示編輯當前使用者的crontab檔案。

-l:顯示某個使用者的crontab檔案內容,如果不指定使用者,則表示顯示當前使用者的crontab檔案內容。

-r:從/var/spool/cron目錄中刪除某個使用者的crontab檔案,如果不指定使用者,則預設刪除當前使用者的crontab檔案。

-i:在刪除使用者的crontab檔案時給確認提示。

4、crontab檔案格式

1.png

上圖是crontab的檔案格式說明

  • 第1列分鐘0~59

  • 第2列小時0~23

  • 第3列日1~31

  • 第4列月1~12

  • 第5列星期0~7(0和7表示星期天)

  • 第6列要執行的命令

crontab 常用方法

crontab -l #檢視任務
crontab -e #編輯任務
鍵入 a 進入編輯模式,進行編輯後
Ctrl+c #退出編輯模式
Shift + w + q #退出編輯
wq 儲存並退出

1.建立定時任務

每個使用者都可以排程自己的任務,在jingkong使用者下建立定時任務。

功能:每分鐘執行一次,將時間寫入到指定檔案中

[jingkong@muguangjingkong ~]$ crontab -e
### first crontab
*/1 * * * * /bin/date >> /home/jingkong/jk-log.txt
  • 列出目前所有的定時任務
[jingkong@muguangjingkong ~]$ crontab -l
### first crontab
*/1 * * * * /bin/date >> /home/jingkong/jk-log.txt
  • 刪除所有的定時任務
[jingkong@muguangjingkong ~]$ crontab -r

2.crontab語法說明

進入到vi編輯介面編寫我們要排程的任務,crontab排程命令的格式如下:

* * * * * command path  //

前五個欄位可以取整數值,指定何時開始工作,第六個域是字串,即命令欄位,其中包括了crontab排程執行的命令。各個欄位之
間用spaces和tabs分割。

*       *       *       *       *       
分:1-59,每十分鐘*/10
       時: 0-23, */2 
                日: 1 -31
                        月: 1-12
                                星期: (0-6)
  • 舉例:
##每天21:30 執行
30 21 * * * cmd01

###每個月1,11,21的2:30執行
30 2 1,11,21 * * cmd02

##每週六或者每週日,1:45執行
45 1 * * 6,0 cmd03

#每天20:00至23:00日 ,每半個小時執行一次
0,30 20-23 * * * cmd04

##每一小時執行一次
* */1 * * * cmd05

相關推薦:《Linux視訊教學

以上就是crontab是linux自帶的嗎的詳細內容,更多請關注TW511.COM其它相關文章!