Linux中的任务调度

时间:2021-08-05 20:04:27

1.crond,linux中的任务调度器

crond的概念和crontab是不可分割的。crontab是一个命令,常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。该词来源于希腊语chronos(χρόνος),原意是时间。而crond正是它的守护进程。   --来源:百度百科

2.自定义周期性可执行任务

在Linux中我们自己定义自己想要定期执行的任务,这也是Linux强大之处。Linux中的任务调度

crontab文件放在/etc/目录中。我们可以通过cat命令查看crontab文件中的内容,从图中我们可以看到,“#”号是注释的意思,也就是说“#”后面的字符系统都不会进行解析。第一行中的SHELL=/bin/sh指定了系统的shell版本,这里指定的sh版本。第二行的意思是指定环境变量,因为crond是有系统自动执行所指定的任务,所以系统在自动执行时是从crontab文件中查找环境的。如果我们手动在终端运行命令来执行任务,那么系统可以找到相应的环境变量,这是因为我们已经将环境变量写入到系统文件中了。

Linux中的任务调度

 

从图中我们可以看到,我们在crontab文件中添加了最后一行信息,

*/3  *  *  *  *    root    /sbin/reboot

第一个*/3   的意思是没隔3分钟

之后有4个*号,*号代表所有可能的值。整句话的意思就是让系统每隔3分钟就从起一次,且只有root用户才能执行该操作。