一、crond簡介
crond 是linux下用來週期性的執行某種任務或等待處理某些事件的一個守護進程,與windows下的計劃任務類似,當安裝完成操作系統後,默認會安裝此服務 工具,並且會自動啓動crond進程,crond進程每分鐘會定期檢查是否有要執行的任務,如果有要執行的任務,則自動執行該任務。
如果安裝完系統沒有crond,那麼就得安裝了。安裝的命令是:yum install crontabs
查看自己的電腦中是否有crontabs 命令是 :rpm -qa | grep crontabs
查看crond服務是否運行 命令:ps -ef|grep crond
進程號24209 正在運行。
開啓|關閉|重啓 crond服務:
/bin/systemctl start crond.service
/bin/systemctl stop crond.service
/bin/systemctl restart crond.service
二、crontab文件的含義
minute hour day month week command
其中:
minute: 表示分鐘,可以是從0到59之間的任何整數。
hour:表示小時,可以是從0到23之間的任何整數。
day:表示日期,可以是從1到31之間的任何整數。
month:表示月份,可以是從1到12之間的任何整數。
week:表示星期幾,可以是從0到7之間的任何整數,這裏的0或7代表星期日。
command:要執行的命令,可以是系統命令,也可以是自己編寫的腳本文件。
在以上各個字段中,還可以使用以下特殊字符:
星號(*):代表所有可能的值,例如month字段如果是星號,則表示在滿足其它字段的制約條件後每月都執行該命令操作。
逗號(,):可以用逗號隔開的值指定一個列表範圍,例如,“1,2,5,7”
中槓(-):可以用整數之間的中槓表示一個整數範圍,例如“2-4”表示“2,3,4”
正斜線(/):可以用正斜線指定時間的間隔頻率,例如“0-23/2”表示每兩小時執行一次。同時正斜線可以和星號一起使用,例如*/10,如果用在minute字段,表示每十分鐘執行一次。
三 、舉例說明
1. 首先在一個文件夾下面創建.sh文件,並且給權限文件授權755 權限
這裏我的sh文件路徑是 /data/myshell/test.sh
然後給文件賦予權限 命令:chmod -R 755 /data/myshell/ ,這樣myshell 下面所有的文件都具有了755權限
然後 切換目錄到myshell目錄下。命令:cd /data/myshell
編輯文件:通過 vi 命令打開test.sh 文件 命令:vi test.sh
文件內容及描述:第一行 必填的,第二行是描述,第三行配置 執行計劃任務的地址。完成以後保存退出
#!/bin/sh
#descripion: 描述
wget http://www.baidu.com
2.切換到/etc目錄下編輯crontab文件。完成以後保存退出。
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# 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 execute
#每天 每隔5,10,15,20,30分鐘執行一次定時任務
*/5 * * * * root /data/myshell/test.sh
然後執行啓動 crontab,命令 :/bin/systemctl start crond.service
這樣計劃任務就完成了。