cron風格定時器 crontab定時器工具

2021-10-16 23:56:44 字數 3428 閱讀 1697

要使用crontab定時器工具,必須要啟動cron服務:

service cron start

crontab各引數說明:

-e : 執行文字編輯器來編輯crontab,內定的文字編輯器是vi-r : 刪除目前的crontab-l : 列出目前的crontab(檢視專用)

"*"代表所有的取值範圍內的數字。特別要注意哦!

"/"代表每的意思,如"*/5"表示每5個單位

"-"代表從某個數字到某個數字

","分散的數字

檢視crontab配置檔案

vi /etc/crontab

#shell變數指定了系統要使用哪個shell

shell=/bin/bash

#第二行path變數指定了系統執行命令的路徑

path=/sbin:/bin:/usr/sbin:/usr/bin

#第三行mailto變數指定了crond的任務執行資訊將通過電子郵件傳送給root使用者,如果mailto變數的值為空,則表示不傳送任務執行資訊給使用者mailto=#第四行的home變數指定了在執行命令或者指令碼時使用的主目錄home=/# for details see man 4 crontabs

# example of job definition:

# .---------------- minute (0 - 59)

# | .------------- hour (0 - 23)

# | | .---------- day of month (1 - 31)

# | | | .------- month (1 - 12) or jan,feb,mar,apr ...

# | | | | .---- day of week (0 - 6) (sunday=0 or 7) or sun,mon,tue,wed,thu,fri,sat# | | | | |# * * * * * user-name command to be executed使用者任務排程:使用者定期要執行的工作,比如使用者資料備份、定時郵件提醒等。使用者可以使用 crontab 工具來定製自己的計畫任務。所有使用者定義的crontab 檔案都被儲存在 /var/spool/cron目錄中。其檔名與使用者名稱一致。

minute   hour   day   month   week   command其中:

minute: 表示分鐘,可以是從0到59之間的任何整數。

hour:表示小時,可以是從0到23之間的任何整數。

day:表示日期,可以是從1到31之間的任何整數。

month:表示月份,可以是從1到12之間的任何整數。

week:表示星期幾,可以是從0到7之間的任何整數,這裡的0或7代表星期日。

在以上各個欄位中,還可以使用以下特殊字元:

星號(*):代表所有可能的值,例如month欄位如果是星號,則表示在滿足其它欄位的制約條件後每月都執行該命令操作。

逗號(,):可以用逗號隔開的值指定乙個列表範圍,例如,「1,2,5,7,8,9」

中槓(-):可以用整數之間的中槓表示乙個整數範圍,例如「2-6」表示「2,3,4,5,6」

正斜線(/):可以用正斜線指定時間的間隔頻率,例如「0-23/2」表示每兩小時執行一次。同時正斜線可以和星號一起使用,例如*/10,如果用在minute欄位,表示每十分鐘執行一次。

crontab 服務

服務操作說明:

/sbin/service crond start //啟動服務

/sbin/service crond stop //關閉服務

/sbin/service crond restart //重啟服務

/sbin/service crond reload //重新載入配置檢視crontab服務狀態:

service crond status

手動啟動crontab服務:

service crond start

檢視crontab服務是否已設定為開機啟動,執行命令:

ntsysv

加入開機自動啟動:

chkconfig –level 35 crond on

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檔案時給確認提示。

例項3,15 * * * * command    每小時的第3和第15分鐘執行

3,15 8-11 * * * command  在上午8點到11點的第3和第15分鐘執行

3,15 8-11 */2 * * command 每隔兩天的上午8點到11點的第3和第15分鐘執行

3,15 8-11 * * 1 command每個星期一的上午8點到11點的第3和第15分鐘執行

30 21 * * * /etc/init.d/smb restart 每晚的21:30重啟smb

45 4 1,10,22 * * /etc/init.d/smb restart每月1、10、22日的4 : 45重啟smb

10 1 * * 6,0 /etc/init.d/smb restart每週

六、週日的1 : 10重啟smb

0,30 18-23 * * * /etc/init.d/smb restart每天18 : 00至23 : 00之間每隔30分鐘重啟smb

0 23 * * 6 /etc/init.d/smb restart每星期六的晚上11 : 00 pm重啟smb

* */1 * * * /etc/init.d/smb restart每一小時重啟smb

* 23-7/1 * * * /etc/init.d/smb restart晚上11點到早上7點之間,每隔一小時重啟smb

0 11 4 * mon-wed /etc/init.d/smb restart每月的4號與每週一到週三的11點重啟smb

Linux之定時器cron

一 配置任務crontab e 編輯使用者的定時任務檔案 var spool cron crontabs user 當前使用者的定時任務在該檔案下 示例 1 echo hello echo uname a 每分鐘執行shell命令cront格式 分 時 日 月 周 shell命令 二 儲存修改,預設...

Linux定時器任務cron配置

cron 計畫任務,是任務在約定的時間執行已經計畫好的工作,這是表面的意思。在linux中,我們經常用cron伺服器來完成這項工作。cron伺服器可以根據配置檔案的時間來執行特定的任務。crontab語法 crontab 選項 引數 選項 e 編輯使用者的計時器設定 l 列出使用者的計時器設定 r ...

Spring Boot定時器動態cron表示式

spring boot要使用定時任務,就要在啟動類上加上 enablescheduling註解,並且在某個方法上加上 scheduled cron 0 0 1 其中的cron表示式就不多說明了,而普通的這種方式,註解中的cron是沒辦法改變的,不能自定義動態的,或者是資料庫中去讀取,不可配置 但sp...