SHELL定時任務詳解

2021-09-24 09:21:11 字數 2203 閱讀 4379

1、crontab檔案的含義:

使用者所建立的crontab檔案中,每一行都代表一項任務,每行的每個字段代表一項設定,它的格式共分為六個字段,前五段是時間設定段,第六段是要執行的命令段,格式如下:

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欄位,表示每十分鐘執行一次。

2、crond服務

安裝crontab:

yum install crontabs

服務操作說明:

/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

3、使用例項

例項1:每1分鐘執行一次command

命令:

例項2:每小時的第3和第15分鐘執行

命令:3,15 * * * * command

例項3:在上午8點到11點的第3和第15分鐘執行

命令:3,15 8-11 * * * command

例項4:每隔兩天的上午8點到11點的第3和第15分鐘執行

命令:3,15 8-11 */2 * * command

例項5:每個星期一的上午8點到11點的第3和第15分鐘執行

命令:3,15 8-11 * * 1 command

例項6:每晚的21:30重啟smb

命令:30 21 * * * /etc/init.d/smb restart

例項7:每月1、10、22日的4 : 45重啟smb

命令:45 4 1,10,22 * * /etc/init.d/smb restart

例項8:每週

六、週日的1 : 10重啟smb

命令:10 1 * * 6,0 /etc/init.d/smb restart

例項9:每天18 : 00至23 : 00之間每隔30分鐘重啟smb

命令:0,30 18-23 * * * /etc/init.d/smb restart

例項10:每星期六的晚上11 : 00 pm重啟smb

命令:0 23 * * 6 /etc/init.d/smb restart

例項11:每一小時重啟smb

命令:

例項12:晚上11點到早上7點之間,每隔一小時重啟smb

命令:

例項13:每月的4號與每週一到週三的11點重啟smb

命令:0 11 4 * mon-wed /etc/init.d/smb restart

例項14:一月一號的4點重啟smb

命令:0 4 1 jan * /etc/init.d/smb restart

例項15:每小時執行/etc/cron.hourly目錄內的指令碼

命令:01 * * * * root run-parts /etc/cron.hourly

說明:run-parts這個引數了,如果去掉這個引數的話,後面就可以寫要執行的某個指令碼名,而不是目錄名了

shell定時任務

linux內建的cron程序能幫我們實現這些需求,cron搭配shell指令碼,非常複雜的指令也沒有問題。cron介紹 我們經常使用的是crontab命令是cron table的簡寫,它是cron的配置檔案,也可以叫它作業列表,我們可以在以下資料夾內找到相關配置檔案。var spool cron 目...

Shell指令碼 定時任務

yum install vixie cron yum install crontabsservice crond start 啟動服務用以下的方法啟動 關閉這個cron服務 service crond start 啟動服務 service crond stop 關閉服務 service crond ...

linux crontab定時任務詳解

1.為當前使用者建立cron服務 crontab e 例如 檔案內容如下 每隔1分鐘執行sql指令碼 1 mysql h127.0.0.1 uroot proot home undoner sync db.sql 2.檢視該使用者下的crontab服務是否建立成功 crontab l 3.啟動cro...