介绍

计划任务分一次性计划任务和周期性计划任务,计划任务的执行结果不显示在终端上。

一次性计划任务at

想要使用at命令首先得开启atd服务

查看atd服务是否启动成功:

centos8计划任务 每分钟 linux计划任务设置_计划任务


atd没有启动输入systemctl start atd.service启动atd。

centos8计划任务 每分钟 linux计划任务设置_centos8计划任务 每分钟_02


按照时间 日期的顺序输入,在at>后面输入命令,由于计划任务执行时不显示在终端上,所以后面加上>/dev/pts/0将执行内容显示在终端上,到了对应的时间就会执行该命令并发送一个邮件给用户。

进入at>后,会发现退格建无法使用,crtl+退格键即可正常删除。crtl+c不保存输入的命令并退出,crtl+d保存命令并退出。

atq:查询创建的一次性任务和这个一次性任务由谁创建。

atrm:删除一次性任务,后面接任务的序号ID。

计划任务默认保存在/var/spool/at目录下,创建任务会在该目录下创建一个可执行文件。

centos8计划任务 每分钟 linux计划任务设置_用户名_03


在at命令中时间的指定方式有很多种

表示时间的方式

解释

tomorrow,yesterday等

明天,昨天

3am,3pm

上午3点下午3点

teatime

下午4点

noon

中午12点

只写时间不写日期

默认今天

周期性计划任务crontab

一次性任务不常用,而crontab则常常使用。

crontab按照预先设置的时间周期重复执行指定的命令,crontab的全局配置文件位于/etc/crontab,系统默认的设置,位于目录:letc/cron.*用户定义的设置,位于文件:/varlspool/cron/用户名。

进入/etc/crontab文件

centos8计划任务 每分钟 linux计划任务设置_centos8计划任务 每分钟_04


前三行表示的是全局变量。下面的五个*表示时间数值,第一个代表分钟,第二个代表小时,第三个代表日期,第四个代表月份,第五个代表周几。

时间数值有几个特殊表示方式

*表示该范围内的任意时间

,表示间隔的多个不连续时间点

-表示一个连续的时间范围

/指定间隔的时间频率

crontab -e:创建周期性任务,会进入一个类似vim编辑器的文件,按照分 时 日 月 周 命令 的格式,命令建议写成绝对路径,确保执行成功。

crontab -l:查看周期性计划任务

crontab -r:删除所有周期性任务,慎用,建议crontab -e在里面进行删除。

crontab -u usrname -e:对usrname的周期性计划任务进行管理

crontab -u usrname -r:删除usrname的周期性计划任务

crontab有一个黑名单,用来禁止用户创建周期性计划任务的,用户可以创建一个/etc/cron.allow文件(白名单)系统优先看白名单,没白名单就看黑名单。