00:00
大家好,欢迎大家继续收看上硅谷的云计算课程,我是沈超老师。这节课呢,我们继续来学习定时任务,那我们这节课来看看循环执行时任c table啊这样一个这个程序。那这个可能就会更常用了,这个基本上我们说只要出现笔试题,不论你去面试。还是咱们的考试笔试题当中,只要有一定就会出现课table的题,这个是一定要有的,所以啊,这甚至我们可以说所有的服务器都是必备的,所以我希望大家把它能一次学明白。那我们先来看看它的这个访问,一样的,它同样这个服务默认是直接启动,所以不需要你手动启,如果你需要启动service,直接加可望,然后拆con菲可啊,让他开机启动就行,这个不需要我们手工启啊,我们只要干嘛。这个看一下CCRO,那我们就能看到这个服务默认是开启了,那如果你们去检查NTCCV里面,它也是开机自启动啊,所以不需要啊,万一没开你需要手工开一下,那其次它和艾特命令类似,也有白名单和黑名单文件,同样白名单默认不存在,只有黑名单存在,那我们看看是不是,那我们。
01:22
CRO星号,那这个啊,能看到只有黑名单,剩下这些是什么,我们后面再待会再说啊,这个还是他必备的一些东西啊好,那只有黑名单,那同样也是,如果有白名单存在,那么只有写入白名单的用户可以使用这个定时任务,可狼铁宝定时任务,否则呃,剩余用户都不行。那如果没有白名单,那么就是所有用户都可以使用CRT,除非写入这个这个黑名单的用户不能访问。OK,那这个跟之前的都是一样的啊好各位,那我们同样说linus默认只有黑名单啊,这个小心,这里面现在都是空的,好,这个知道了,我们来看看table的使用方法。
02:08
那它有两种使用方法,一种是用户通过命令来定义,可能推广设置,哎,这个是每个用户都可以定义,普通用户超级用户都可以,那但是这是用你自己的用户身份,也就是说用三一定义了。Uce定义了可推就用uce来执行,Root定义了就用root来执行,它是用命令来执行的话,就是用你当前用户的身份来执行这个定时任务。除了这个用命令来设置渴望T保定时任务之外,还有一个方法就是我们说后面我们可以通过渴望提保的配置文件。来定义这个定时任务执行,如果是用考完推保定时,用这个定时配置文件来执行的话,那么它可以干嘛?在这个修改配置文件的时候,你可以手工来指定执行者的身份,你是可以,当然只能用root来改,我可以root来定义,哎,如果我要是命令来定义,就算我是root,我是不是也只能用root身份来执行。
03:09
但是如果我是由修改配置文件,那我root就可以,干嘛指定我不是用我的身份来执行定时任务,我找个背锅侠,诶万一是这个我执行,如果报错了呢,我是不是在背锅,那我找个背锅侠U4用户你来你来执行。在配置文件里root就可以指定其他用户来执行这个定时,那换句话说两个方法都行,用命令来执行也行,修改配置文件也行,相对来说配置文件更容易配置,出了问题也容易查,然后呢配起来也容易生效,然后呢也好找,然后还可以手工指定任务啊,指定任户,所以我们一般如果在系统中执行,我们一般都还是推荐通过定时任务啊,通过修改配置配置文件的方式来执行定时任务,而不是直接通过命令行来执行啊,命令行改起来并不方便,方便啊,通过配置文件写完了,它是一个文本,改起来非常方便,听懂了两个方法都可以执行啊,那我们先来回来,我们先看通过这个命令行来执行,这是,那怎么做呢?
04:17
它就是可以使用c table命令后边加杠E选项E就是edit编辑。杠L查询杠R是删除这个,这个删删除或修改指定用户的,这个一般用不着我们说啊,我们啊真要修改起来,通过命令行改,其实并不方便,我们还是推荐就写在配置文件对吧,那这个呢,我们了解一下就行,通过手工的方式啊不不不能说了解,这个还是考察的时候笔试题里,其实应该这么说。我们很多的书籍用户,他分不清这东西有两种执行方法,就是通过命令行来执行,还是通过配置文件来执行,他分不清,他搞成一锅粥了,那这个时候呢,考试的时候就有可能混乱,所以这个也是必须要掌握了,我只是推荐你们后期执行的时候使用配置文件来执行,OK,好,那我们使用一下,可table杠一我们来编辑一个定时任务,那我们给我自己编辑,那我现在就只能干嘛,可table杠一编辑我自己的定时任务,打开你会发现是一个空的文本,文件空的。
05:24
空的话怎么写啊,它是不是就有格式了,它的格式是这样,五个星号后面加也要执行的,也要执行的任务,各位这个要执行的任务可以是单一的命令,执行一条命令没问题,当然我说。单一的命令能够完成的工作其实非常对吧,他能干的活很少,所以呢,一般真正要在工作中用,一般都是脚本,哎,你得写好你脚本,让它定时执行,比如说咱们前面写的那个监测阿帕奇的端口有没有关闭,如果关了把它开开,对吧?那这个时候你是不是就可以用时任务把它,让它每十分钟执行一次,然后呢,后面写成这个脚本的路径,OK,好,这是要执行的脚本,前面五个星分别代表时间。
06:09
各位。我们一般的书籍里写的都是第一个星代表分钟、小时、天、月、星星,但是我可没这么写,你看清楚啊,我写的是第一个星,代表第一个小时当中的第几分钟。范围是零到59。第二个写的是一天中的第几个小时,范围是零到23,第三个是一个月当中的第几天,范围是一到31。首先我们定时任务不没办法区分大小印,只能给手工指定,OK,呃。第四个写的是一年当中的第几个月,然后第五个当中是一周当中的星期几,零到七范围,其中零和七都代表礼拜天啊,这个一代表礼拜一啊,零和七都代表礼拜天。
07:00
为什么我要强调我写的是一小时当中的第几分钟呢?那我换个方法来,我写一个定时任务,你告诉我写的是什么?我想问你,我这个命令会在什么时候执行?各位。如果是按照我们的如果,我真的在这里只写的是分钟。小时,那我说,我们绝大多数学员都会告诉我,这条命令是每十分钟执行一次。那我说不对。各位,这就是为什么我强调我显示的是一小时当中的第几分钟了,这条命令的实际作用是这条命令会在每个小时的第十分钟执行一次,也就是说01:10执行一次,02:10执行一次,03:10执行一次,他每个小时只执行一次,你听清楚啊,而如果按照你的理解,每十分钟执行一次坏了,那他是不是一个小时执行六次了?听明白了,所以啊,我再强调啊,我这里并没有写分钟小时啊,我可写的是一小时当中第几分钟,你看清楚,别搞错啊,这就是为什么强调我说这个地方你要注意这个事儿,那如果真的是每十分钟执行一次,应该是这样写的。
08:18
哎,这样写的看清楚,它可以识别除号,那星号是不是代表任意分钟除以十,那是不是就是每隔十分钟直行看明白了,那也就是说我这里加了一些特殊符号,新代表任意时间,大家注意。然后呢,氢除以N代表每隔多长时间,这才是每十分钟执行一次,然后呢,逗号代表不连续的范围,比如说我可以这样写,八逗号12逗号16,它指的是在八点的零分之行,12点的零分,16点的零分,这是不连续的范围。减号呢,就代表连续的时间范围,那比如说我可以这样写一到六,那就是周一到周六的凌晨五点整执行。
09:04
看明白了。好,各位。这是它的基本含义,那这个其实就是考点,经常考,经常考,次次考,次次考,只要有卷子都会考,我希望你把它一次记清楚,为了便于你理解,我多举了一些例子,那我们可以看到这个什么意思?在指定的时间的指定分钟,每天晚上的十点,哎,这后面是每天晚上10:45执行,那这个呢,每周一的十下午五点整执行,05:00执行,对吧,这个呢。一每个月一号和15号的五点整执行,凌晨五点执行,哎,对,说到这儿我多说一句啊,不要这样写啊,比如说。呃,不是,比如说零分凌晨05:31号,哎,这个我问你能执行吗?能它的作用是每个月31号凌晨五点执行,但是我问你每个月都有31号吗。
10:04
不是吧,我们月份是不是分大小月,一半的月份是不是没有31号,那没有31号的月怎么办?各位它会不执行。他不是说到这个月底的最后一天执行,没有这个任务,没有那么智能啊,他判断的只是你的日期有没有31这个这一天,如果没有他就不执行,所以啊。如果你真打算让他每个月执行几次指定日期的话,你不要写三十一三十这么呃极端的时间,你写就像我说的这块,你写个十号15号这个就没问题,OK,他不要写31号这么极端,因为不是每个月都有31号这一天吧啊。那这个呢,就是指的是什么?周一到周五每天早上的四点零五四十,哎,对了,我问你这是上午四点还是下午四点。各位是凌晨四点,为啥看?我说了范围是零到23,是24小时制的,下午四点就是16 OK啊。
11:04
好,接下来呢,这个呢。哎,这个是不是就代表的是每天凌晨四点,每隔十分钟只行一次,对吧,后面这个这个就停个二,停二了是看。周一,呃,不是11,每个月一号或者15号,每周一的00:00执行,那我问你他会什么时候执行。我们绝大多数学员都会告诉我。是我每周一。每每个月啊,每个月的一号或者15号,而且这一天,并且要是周一,他是并且的关系。你们认为是并且的关系,并且它是周一才会执行,我说不是并且啊,它不是并且,而是什么或者的关系,什么意思啊?他的意思是每个月一号或者15号或者每周一都执行,哎,那也就是说这三个时间每周一也执行,每个月一号也执行,每个月15号也执行,都执行,他是或者的关系,但是我想跟你说了,不是这个,我想说这样写是不对的,我想告诉你。
12:13
星期几和日期几号最好不要在同一条件任务里出现,原因他们指的都是天,都是按天执行,你如果写在一条命令里就容易搞混。原因就是我说了,它的实际作用是每周一也执行,每个月一号,每个月15号都执行,但是你特别容易理解为每个月一号或者15号,并且这天必须是周一才执行。这是错的啊,所以我的建议是你不要把星期和日期写在一起,这个容易把你口晕,系统不会晕,你容易晕。看明白了吗?这就是我们的这个定时任务,可以,那我们随便写个定时任务,那我说我们如果写这个太复杂了,他可能会干嘛没法执行,那我们就写个最简单的艾Q11,就输入幺幺,不断写幺幺往这个某一个日志里看,那我就这样写,每分钟不断的写一个111。
13:11
把它输入到root下的test文件当中就写进去。啊,这个是只要保存它就会不断的执行,那怎么怎么看呢?C考完table-L我就能看到这个电视物。哎,在执行,那我们等一分钟。懂了吧,不对,在root下面开始。啊,这个test是不是有了,我们V一下test,诶这里边现在还没有写进去吗?没有,那可能时间还不到,这个把这个test删掉,让他如果有test直接就出现调用啊,那好,这就是正标准的定时物执行啊,标准当然我说。这样执行是没有什么太大的价值的,只能看一下定时50运行了,只能就这就这一个作用,就是看一下真正要用的话,可能就当然我再说定时重启我也不建议使用,我说过了重启的话,这东西是不是有可能系统会起不来,重启比较危险。
14:14
所以。重启的时候,我们还是建议应该是有管理员介入,不应该让它定时,但是比如说我们前面写的备份。诶,如果我们写一个备份脚本啊,备份数据库,那这个时候我是不是就可以写了,让他每天的三点半,或者是每周啊,每隔半个月,每隔多少天执行一次,其实如果这些真的是备份,可能每天都需要执行,让他自动来执行,对吧,这就这个就比较常见,当然我们就说。写脚本的时候,包括写命令的时候,你都注意这个地方,最好写绝对路径。否则有可能会不生效,有这个可能啊,好了,Test有了,我们看一下,看里面是不是有这个幺幺,那这个就是每分钟都会往里写,因为我写的定时任务干嘛。
15:01
诶,我写的定时任务是不是就是让他每分钟往里面写幺幺对吧,而且我说这个任务非常简单,他既不需要重启服务,什么都不需要干,你只要是可望table报杠一把它编辑完,呃,可望table报杠一把它编辑完,然后保存退出就行了,可望table杠一呢,就跟我们的这个VI操作是一样的,进去就VI,然后保存去出,它就会自动执行,哎,就这么简单。哎,所以啊各位。定时任务如果用命令行执行,本身还是非常简单的,但是这个缺陷就在于它只能用当前用户身份这个来执行,而且不容易编辑查询,使用起来并不方便啊,那我们这节课呢,就先到这儿,我们这节课讲了一下。定时任务服务的开启方法。然后呢,讲了一下它的这个,呃,访问控制文件,然后呢,我们说了一下它的执行方法,诶,重点是这个时间日期,请你把它搞明白,OK,然后我们举了一个例子,让他可以每分钟执行,哎,其实这个就是最容易看到的例子,你就可以发现,只要你等着,他就会一直往里写,就证明定时录生效了,哎,OK了,这个就是我们这节课的内容。
16:17
好,那这节课先这样,我们下节课再见。
我来说两句