linux 定时任务 crontab相关(二)

(一)定时任务简介shell

     系统的定时任务并不难,它在咱们的服务器上是一个很是常见的任务,它指的就是让个人计算机在指定的时间,运行指定的命令或者程序。在windows里面有一任务器,它实现的就是系统定时任务,这个在我的机里面用的很少,通常就是杀毒软件什么的会用到。可是在服务器上呢,咱们不少的工做都不必定要人为手工的工做,并且有一部分工做,像备份这样的工做,天天都须要进行,并且不能在上班的时候白天执行,由于那个时候的服务器压力很是大,这个时候都应该让它在凌晨执行,固然不须要管理员天天都凌晨的时候工做,咱们可让计算机系统自动在指定的时间执行指定的命令。那么这个时候就用到了一个很是经常使用的工具,定时任务。windows

(二)定时服务的启动与关闭服务器

若是想让个人定时任务生效,咱们必需要在CentOS中启动一个叫crond的这样的一个服务。工具

crond服务是Linux的内置服务,但它不会开机自动启动。能够用如下命令启动和中止服务:rest

启动crontab

systemctl start  crond.servicetest

查看状态:变量

systemctl status  crond.service软件

中止配置

systemctl stop  crond.service

重新启动

systemctl restart  crond.service

从新加载:

systemctl reload  crond.service

固然你若是熟悉CentOS6的命令,也能够输入以下命令,其实这个命令就是调用了咱们上面的命令。

service crond start

service crond stop

service crond restart

service crond reload

以上1-4行分别为启动、中止、重启服务和从新加载配置。

(三)定时任务的使用

启动以后,它的使用是很是简单的。

crontab [选项]

crontab –l 查看当前用户的crontab,输入

crontab –e 编辑crontab

crontab –r  删除crontab

输入crontab –l    能够看到no crontab for root

输入crontab –e  添加任务,能够看到如今这个文件里面彻底为空,你只要按照咱们的标准格式写入我要执行的系统变量,它就能够在指定的时间执行,那么这个标准是什么,看一下。

(四)基本格式 :

*  *  *  *  *  command

前面这五个星号表明时间和日期,后面command表明执行的命令或者脚本。

这五个星号分别表明的含义。

分 时 日 月 周 命令

第1列表示分钟,范围是1~59,每分钟用*或者 */1表示

第2列表示小时,范围是0~23(0表示0点)

第3列表示日期,范围是1~31

第4列表示月份,范围是1~12

第5列标识号星期0~6(注意0表示星期天)

第6列要运行的命令。

其实这个东西不难,咱们想熟悉它,来举几个例子。

crontab –e 进入定时器的编辑。

咱们输入:

30 21 * * * command

若是写的是星号,表明任意时间,若是写的是具体的值,写的是具体的时间。

上面的例子表示每晚的21:30执行命令。

0 17 * * 1command

每周一的17点0分执行。

这里来看我若是单独写个10 表明什么,

10 * * * *command

有人说,它会每10分钟执行一次,有人说,它会在每一个小时的第10分钟执行一次,哪一个对,固然是第二种了,由于它表明的是一个小时的第几分钟。若是想要表示每隔10分钟,就须要用这样一些特殊符号,

特殊符号* 表明任什么时候间

,逗号,表明一个不连续的时间。

-减号,表明连续的时间范围,

若是用*/除以一个特定的值,才表明每隔必定的时间执行。

45 4 1,10 * * command

咱们来看一下这一个,它表明什么时间执行,说过逗号表明不连续的时间,因此说,该行表示每个月一、10日的4 : 45执行命令。

40 4 * * 1-5command

表示每周一到周五的凌晨4点40分执行命令。

*/10 4* * *

天天的凌晨4点,每隔10分钟执行一次命令。执行6次。 

咱们把这些都删除了,演示一个命令。

* * * * echo 111 >>/tmp/test

保存退出。

看看系统时间, 输入date

只要这里知足一分钟,变化,它就会执行一次,咱们这个定时任务最小识别的是分钟,因此它不知道这个秒的变化,它检测的就是分钟,只要分钟变化,这个任务就执行,不必定要恰好是一分钟,由于它能识别的最小范围是分钟。咱们在date一下。

看分钟已经变化了

输入:

cat /etc/test

来查看,test文件里面已经有了111,再过一分钟,这里面还有111。这个就是定时任务。固然这个定时任务没有任何的意义,就是让你们了解一下定时任务的一些使用,计划任务就是这么简单了,可是计划任务,执行的语句若是是多条,则须要用药shell脚本,本身先写一个shell脚本,而后在计划任务中,执行这个脚本便可。至于shell脚本的写法, 这里不赘述。

这个就能查看定时任务了。

相关文章
相关标签/搜索