00:00
这节课来学习一下计划任务。什么是计划任务呢?计划任务就是帮助我们在特定的时间执行命令的服务。可以达到啊,定时备份数据的一个目的,就好比闹钟。每天早上七点会叫醒我们。而在零零系统中,计划任务就是在指定的一个时间,或者周期性的,或者是指定的一个时间可以执行某一些命令。我们来看看计划任务常用的命令。查看一下计划任务是否处于运行状态。service c。好,可以看到计划任务是处于运行状态。退出。编辑计划任务使用C。杠E编辑计划任务。执行完这个命令之后呢,这里这几个选项是什么意思呢?是让我们啊选择编辑器。
01:04
我们选择。啊。啊,Nano或者vim都可以啊,这里我们使用第二个输入编号就可以vim。这个就是计划任务的一个文件。在这里我们可以添加计划任务,上面有一些计划任务的一些说明。好,退出。查看系统计划任务。是使用C。杠L这个可以查看正在运行的。啊,一个计划任务可以看到,就是并没有计划任务啊,在运行我们这个计划任务呢,它也是分用户的啊,就是每个用户都可以有自己的一个计划任务。这里我们。使用这个命令,它查看的就是当前登录用户的计划任务,而我们刚才使用的CTRL加E就是ctrl type-E,编辑的也是当前登录用户的计划任务,而我们使用ctrl table-L。
02:12
查看正在运行的计划任务,可以看到并没有正在运行的计划任务,对吧?就是对于这个用户来讲,并称的运正在运行的计划任务。那如何?删除计划任务呢?删除计划任务的这个命令是。Control c table。杠R-R可以删除全部的计划任务啊。可以加一个杠杠二参数交互式删除好,但是现在并没有任何的计划任务。在后面我们添加了计划任务,之后我们再来看看删除是怎么一回事啊。
03:00
嗯,了解了,首先了解一下这个计划任务的常用命令,之后呢,我们开始去介绍一下这个计划任务。用户和计划任务。因为Linux是多用户的操作系统,而每个用户都可以有自己的计划任务。所以啊。我们在设置计划任务的时候。可以指定啊,指定的用户,就说为指定的用户去设置计划任务。如果没有指定,就是默认是给当前用户进行设置的。比如。那我们尝试一下啊。为指定用户设置计划任务是杠U参数,比如杠U。啊,Tom为Tom设计计划任务杠一好。当然我们现在没有这个用户啊。可以添加一个用户速度ad。右侧AB Tom好,添加用用之后我们再尝试为Tom编辑计划任务啊,这个是需要。
04:09
呃,需要这个。管理员权限的,你才能为其他用户去编辑计划任务。这个还是让我们选择编辑啊。好回撤可以看到对吧。啊,因为我们当前登录的是普通用户,你要给其他人编辑这个计划任务的时候,是需要管理员的权限的,明白吗?啊。同样的就是说,呃,查看这个正在运行的计划任务,还有这个删除计划中都可以加上杠U参数,查看指定用户的,好,比如我们,呃。查看一下。啊,Test用户的当前正在运行,正在运行的计划中可以看到并没有对吧,比如我们查看一下。Tom的用户的也可以看到啊,这个也是需要管理员权限可以看到,并没有计划任务。
05:06
就是说Tom用户并没有计划任务,所以啊,这个计划任务一定我们一定要有一个什么概念的,Linux系统是多用户的,对吧,每个用户都有自都可以有自己属于自己的计划人物。好,如果你不指定这个杠优参数,未指定用户指定计划任务的话,默认我们就是是给当前用户去设置这个计划任务,也就是说如果你直接执行这个CR-一,就是给当前用户在设置计划任务。好。啊,其他的这个操作都是一样的,包括删除。在设置计划的任任务的时候啊,一定要注意用户啊,一定要注意这个用户啊,如果你用root用户创建了一个计划任务,比如说生成这个日志文件啊,生成日志文件a log,因为这个文件它是root用户创建的,所以文件的这个所有者和所属组都会是root。
06:00
啊,而别的用户,比如说这个我们的这个,呃,外部啊,就是说提供外部服务的这个。3W用户就不能操作这个文件啊,就有可能导致啊,我们的外部服务器不能使用,所以一定要注意计划任务的这个用户。啊,还有文件权限的一个问题。好在了解了这个多用户和啊,每个用户都具有自己的计划任务之后,下面开始编写我们的计划任务。嗯,这里演示的话,我们就直接啊编辑为当前用户设置计划任务就可以了。杠B。下面。啊,这些其实没有用啊,我把它都删了吧,啊,把它都删了啊。啊,接着我们写入第一个计划任务,行行行。好,五个星后边。是我们要执行的命令user USR。
07:04
B。目录侠的IO。Hello。然后。输出到a.log啊,也就是说呃,我们定时执行这个命令,执行这个IO命令,输出这个hello word啊,把它输出的结果追加到a.log中。下面我们保存退出。嗯,查看一下当前用户。首先看一下当前目录吧,就说我们这个加目录。这里我们要改一下,我们没有指定这个目录啊。我要把这个文件写到home目录下的,Test目录下面的,好写到用户的加目录里面,这里面计划任务啊,因为是这个系统在执行,所以包括它的命令,还有我们要操作的一些位置来讲,都是用绝对路径啊。
08:15
现在看一下是不是已经有了一个a.log谁啊,我们看一下。被捡lock的那种。好。C。A点,那好,已经有一行了,等过一分钟我们再看,它还会继续写入。啊,现在我们先干什么呢?先看一下。啊,正在运行的计划任务。可以看到已经有了一条这条计划任务是正在运行的,对吧。来,大概过了一分钟了,我们再看一下a.log。啊,还没有。清下屏。
09:00
再看一下a.logo看又多了一条对吧,那我们。这个计划任务的这个计划任务的这个。作用是干什么呢?啊,就是每一分钟啊,执行这个命令啊,向这个文件写入,写入这个内容啊,这就是我们的计划任务。那可能有疑问了啊,你这样写是每隔一分钟,那可不可以每隔一小时,每隔一天呢?啊,是可以的,接着。啊,我们就来详解一下,详细的介绍一下这个计划任务啊。Vim啊,不是C。Table-一来编辑计划任务啊,后面首先我们来看一下,看一下这个计划任务的这个格式啊。计划任务的格式呢,我们对着这个来写啊,首先是啊分钟。
10:01
分钟,然后是小时。T。月啊。周。命令好,这个就是我们计划任务的,呃,一个格式。也就是说啊,第一个星。这个位置是分钟,第二个是小时,第三个是天,这个是月,这个是周,后面是我们的命令。呃,那我们为什么用星号呢?星号其实就是表示所有可能的值啊,我们这些都用星号的话,就是每一分钟执行一次了。他们这些这几个,比如说分钟来依次写一下。要注意的一个地方啊,分钟啊是零到59。小时是零到23。
11:01
嗯,天是一到31。越是。一到12。啊,这个周啊,就是一年中的这个。这一周中的这个星期几啊,这个week。啊,是星期。嗯,就是它的值就是一到七就说呃,一周中的一个星期几。啊命令啊,命令要注意的是要使用啊,绝对的这个路径啊,包括命令,包括命令本身,包括命令本身。好,那如果不清楚命令的这个所在位置的话,就是可以使用。I ch来查看命令,查看命令所在的位置啊,所在的绝对路径。
12:03
这个要注意啊,接着看看刚才我们写的这个符号,这个星号啊星号。就是表示。啊,所有可能的值,所有可能的值,比如说我们的这个,如果我们的这个月啊是星号。月是星号啊,就是。啊,任何月都可以啊,任何月都可以,就这个意思啊,那这五个都是星号,就是,那就任何时间都可以呗,但是我们的最小单位什么是分钟,所以基本就是。这个计划任务的意思就是每分钟会执行一次啊。我们来看一个例子啊。比如。呃,来看一个例子。栗子啊。比那看一个什么例子呢。嗯,9月31号。
13:01
五点。十分。执行一条命令,执行一条命令,那这个怎么写呢?首先按照我们的这几个位置来写。31号05:10说明我们的分钟。啊是十分对吧,你看05:10嘛,来,也就是我们第一个位置是十。啊,接着是05:10啊,那小时就是几呢?小时就是五。小时就是五。好。嗯,放这写不清楚是吧,好,先放这写,等会我会放在这里面,小时就是五。哎,接着来看。31号,31号。那就是天嘛。啊,那就是31。呃,月和周没有说对吧,没有说我们就用行来执行一条命令,执行一个。Command。
14:01
哎,这个就是我们的。这个例子啊,放到这里面的话来复制一下。哎,放到这里面就是这样的啊,这个命令是实际上我们的一个命令。比如我们还是用几条命令。好。这是我们的这个例子啊。把注释也写上吧,我们就在这上面写例子吧,不在这写了。不在这写了。接着再看一个例子啊,看一个什么例子呢。嗯,一年中。三。五六。十。这四个月份。
15:01
嗯,三点。五分。执行命令。那这个我们一个看怎么写,首先啊。我们第一个是分钟对不对,先找分钟,有有一个五分好,那我们第一个就是写五,接着看有没有小时有是吧,三点三点嘛。好,三点。接着看我们下一个,下一个是天是吧,就说第几天执行,看看我们的格式来是不是是第几天,天没有的话,我们就用星。接着看下一个。下一个是,呃,这个。月啊月呢,它是这样的,是三五六十这样的一个月份。怎么写呢?对不对,对于这种有间隔的,就是说啊,就是有多个明确的话,多个明确的时间或者。或者值的话,我们是用逗号啊,是用逗号,也就是说五逗号六逗号少一个三啊三逗号五逗号六逗号幺零,哎,这个就是月的就设置好了。
16:12
嗯。周啊,没有说还是用星。比如说让他执行这条命令。嗯,我们这列都写好了,这时候我们又碰到了一个符号逗号,对不对,我们把它记下逗号。逗号呢是嗯。就说指定啊,指定一个范围啊。一个列表范围。嗯,有多个值的时候,有多个值的时候。就是用这个逗号给隔开。这是逗号。
17:02
我们再看一个例子啊,看一个什么例子呢?嗯。美。每两分钟执行一次。这个是每每每分钟会执行一次,那每两分钟执行次怎么写呢?啊,可以这样写啊,星斜杠二,哎,这是分钟这一块,其他地方没有,就是星啊,用星四个星接着去写上我们的命令。哎,这个命令就会每两分钟一次,那这时候我们又碰到了一个符号斜杠,对吧,斜杠是什么呢?啊,就正斜线是什么意思呢。呃,正斜线是指定这个。一个间隔的一个频率啊。比如。就是说指定一个间隔的频率。间隔的频率。好。
18:02
比如,比如这个零-23。三。斜杠二就是每两个小时执行一次。直行啊,当然也可以和这个星号一起使用,比如说星号斜杠十啊,就是。美食。执行一次主要是为什么我们这样写呢?主要是看这个位置是在哪,如果是在分钟那里,就是每十分钟执行一次啊,如果是在这个小时就是。啊,每十小时执行一次,这个斜杠可以指定一个。间隔的一个频率好。接着再看一个例子啊。这个例子是。嗯,没。周三。Down。
19:00
周五。嗯,凌晨03:10。执行一个命令对吧。一般啊,其实这些是比较常见的一些规则,就说比如我们备份数据库就会放到呃,周一或者这个。啊,每天的这个凌晨零到三点啊,每天凌晨三点去备份,这时候使用的用户比较少。我们先看一下这个例子,每周三到周五三点十分执行命令。怎么写呢?首先看这个分钟啊,03:10。你把这个。分钟给补上。好,03:10,那那分钟肯定就是十嘛,对吧,三点小时这个是三。啊,没有说到。没有说这个天,天和月就是星,天是星,月是星,最后只说到了周,周是几呢?周三到周五。周三到周五就是三-五。对吧,当然你也可以写三逗号四三逗号四逗号五是不是啊,还可以写三-五。
20:08
来执行这个命令,复制一下啊。这时候我们又看到一个符号啊,纵横线。中横线啊,中横线是什么呢。嗯。就是可以用这个。就是说整数啊,整数之间可以用增杠表示一个整数的范围,表示整数的范围范围。比如说一到五是吧。比如说二到六。啊。比如说。三到五啊,三到五不就表示。三逗号四逗号五啊,就是这样的一个意思啊。好。
21:02
来,再写一个例子。尝试一下啊。这个我们就写一个真实的一个例子啊,把这些。嗯,先都删掉。嗯,先注释掉吧,先不删。把这些先注释掉。排下版。下面我们来写一个什么例子呢?写一个啊啊,就是我们这个每两分钟。嗯,把一个信息写到一个文件中。先保存啊,先保存去处。把这个文件删一下先。嗯,现在看一下c RO table,看一下我们的计划任务有没有啊,可以看到有这些啊,但是这些都是舒式的,就是不执行了啊。
22:10
好。呃,下面我们来写一个例子,每两分钟执行一个信息的一个文件的写入。Control开防疫。首先,每两分钟。星斜杠二其他的时间都不设置。好。啊,执行什么命令呢?呃,还执行这个命令吧,好吧。看一下状态。有这样一个。
23:00
等会就可以看到有。内容再写入。可以看到有文件在写入对吧。说明我们的计划任务是生效了,最后删除我们的计划任务c table-R啊杠R是删除所有的计划任务了,如果想要只删除某一条,可以使用啊control table-一进到这个里面啊进行。啊,手动去删除某一条。现在我们再来看看。C-L是不是都没有了,包括我们之前写的那个啊,注释的也都没了,对吧,你看。它又还原成它最开始的这些注册文件了,这就是CL table杠啊,就它会基本上就是就相当于reset了,重置了,把所有都删除了啊。
24:01
有一些需要注意的地方,我们这里说一下。首先。第一点,所有的选项都不能为空啊,选项不能为空,不知道的就用星。表示所有时间,表示任意时间。啊,也就是我们啊,计划任务的这个。也就是我们计划任务的这些都不能为空啊。不知道的就用星表示。表示这个任意的一个实验,第二个要注意的是啊,每个字段都可以指定多个值。嗯,不连续用逗号啊,连续的。用中横线。隔开。
25:01
还有一个就是如果要设置固定的时间啊,就是说每间隔一个固定的时间,可以写成星杠N啊。这个N就表示间隔多少时间,你放在什么位置,就是间隔多少时间啊,比如放在分钟上就是间隔多少分钟,放在小时上就间隔多少小时。好,第四个要注意的是星期几,就是说星期和天。啊,不能同时出现。不能同时出现,就是我们的这个天的这个选项和这个星期的这个选项不能同时出现,同时出现的话没有什么意义啊。好,第五个就是。啊,最小的这个。范围十分钟。啊,最大的是月。最大的是院啊,有这几个要注意的地方,最后我们来思考一个问题啊,因为我们最小的范围是分钟,那我们思考问题如何每秒。
26:11
每秒执行一次呢?只升一次。好,有一个思路是啊,由于计划的任务的计划任务的最小单位是分钟,所以我们。可以设定每分钟执行一个脚本,而在这个脚本里面呢?啊,每秒循环一次。这样就达到了每秒。执行一次。计划任务的一个目的。啊,来稍微总结一下就说。啊,每秒每分钟啊,执行一个脚本,在这个脚本里面,脚本里面。啊。写一个循环。
27:03
每秒执行一次啊,执行60次。我们就是让计划任务呢去执行,就每分钟去执行一个脚本,而在这个脚本里面呢,我们可以写代码啊,让这个代码去控制,每秒执行一次。好。我们来写一下。先把这个。删掉啊,保存退出。嗯。这个文件删掉。编写一个脚本。CRON。Ta点。写入内容型号。看好,我们写一个白色脚本,并。
28:01
服。嗯的小括号。I等于零。那写这么一个脚本。这里写我们的命令。B下面IO。好,这里写我们的命令。呃,就写到写到加盟录制下面吧。Homecaa。下面。Dog。
29:01
接着写啊,用sleep让它睡眠疫苗,从而达到这个疫苗啊执行一次的一个目的。最后。大。好。结束。给这个脚本可执行的权限。给7558标准执行权限。看看权限。已经是一个可执行的了。接着我们去编写计划任务。先看一下这个脚本能不能执行啊,点杠先测试一下脚本能不能执行。嗯,好像是可以执行的,看看有没有文件生成,还有feel对吧,里面是刚才执行的这几秒写入了这几行,好。说明这个脚本执行没有问题,接着。
30:03
先把这个文件删掉啊,接着。去配置计划任务。12345,哎,这个都写上行,就是每分钟执行一次,每分钟执行什么呢?执行这个home下面的test目录下面的我们的table这个脚本啊,就是每分钟去执行这个脚本,而这个脚本里面的代码呢,它有一个睡眠,就是说会每秒执行一次。CRO。Table-L看看计划任务是有的啊。啊,接着看看。嗯,现在还没有,因为第一次执行他要先等一分钟才能执行到这个进行第一次执行,我们可以稍等一下啊,在等的时候呢,再看一看这个feel的代码。啊,再看一看我们的脚本的代码啊,可以看到这里是执行的这个命令啊,然后这里是进行了啊一秒钟的一个睡眠。
31:10
哎,已经有有有feel了,cat.log好,可以看到现在是这么几个。呃,我们现在再看一下,哎,多了这么几秒,说明是,呃,每秒钟再写入,可以看到又变得很多了,对吧。这样通过这么一个思路,就达到了我们的这个呃,每秒执行一次的一个目的。啊,利用办脚本啊,利用这个办脚本。最后把计划任务给删掉吧。不要让他一直在执行了。杠二还原计划任务,现在来看一下。
32:01
杠L。啊,已经没有计划任务了。一定要学会合理的利用计划任务,替我们去做一些重复性的任务或者定时性的一些任务,比如每天或者每周备份数据库。啊,或者每天清空某个临时目录下的缓存文件之类的操作。好,计划任务就说到这里。
我来说两句