Linux 是如何使用定時任務Crontab的?

一、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 

這樣計劃任務就完成了。

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