1. 种类 at,cron
at:一次执行,需要有atd服务.
cron: 循环执行
2. at 命令
如果报 at command not found 需要先安装at
yum install at
可以执行下面的命令查看atd状态
systemctl status atd
假如我想一分钟后执行脚本
at now + 1 minutes
输入 echo "hello" 然后回车 ctrl + d
一分钟后我们就可以看到hello输出.
3. atq 和 atrm
atq: 查询有多少计划任务
atrm + [id] : 根据id删除计划任务
4.batch
cpu任务负载小于0.8才执行计划任务,用法和at差不多.
5.循环计划任务 crontab
crontab -e
执行上述命令进入编辑界面, 和vi差不多,然后输入cron 表达式 + 命令 即可.
-l 参数: 列出目前的计划任务
-r 参数: 删除全部任务
-e 参数: 编辑计划任务
/etc/crontab : 如果要执行系统计划任务,可以编辑/etc/crontab.
/etc/cron.d : 如果自己开发的软件需要执行计划任务,可以把文件覆盖到这个目录下/etc/cron.d,这样linux系统会自己执行计划任务,不用分析/etc/crontab文件.
/etc/hourly: 系统随机选择时间执行,不需要设置cron表达式.
6. anacron 非固定时间执行的计划任务
anacron 主要用来执行非固定时间的计划任务或者没有执行成功的计划任务.
anacron -s
-s : 会根据时间戳判断是否执行,然后执行没有执行的任务
/etc/anacrontab: 记录了 weekly,daily的的设置.
所有如果有停机或者其他意外情况发生的话,我们就可以把计划任务放到/etc/hourly 或者 /etc/weekly 中, 来保证重启后执行.