单个用户的计划任务(单一一次的计划任务,周期性的计划任务){ at }
系统级别的计划任务(大多是周期性的计划任务)【所有用户】{ 创建cron表,通过命令crontab -e来创建 }
案例一:at
单一一次计划任务
at 定义计划任务
atq 查看计划任务
atrm 删除计划任务
--------------------------------------------
周期性永久生效:编辑cron表,通过命令crontab来管理
crontab -e 添加cron表
文件格式:*****执行周期性任务 date
*****:分 时 日 月 周
在以上各个字段中可以加入特殊字符
星号(*):代表所有可能的值
逗号(,):可以用逗号隔开的值指定一个列表范围
中杠(-):可以用整数之间的中杠表示一个整数范围
正斜杠(/):可以用正斜杠指定时间的间隔频率
案例二
crontab -l 显示我的计划任务
crontab -r 清楚我的所有计划任务列表
-------------------------------------------
每周三的俩点零六分执行一个脚本:06 02 ** 03 wall haha
案例三:指定某些用户可以执行计划任务
对于普通用户设置计划任务,我们也可以设置哪些用户可以设置计划任务哪些用户不可以
# vim /etc/at.deny(进去后写入不可以执行计划任务的用户)
在系统中并没有at.allow这个文件但只要你编辑这个文件再次允许你这个用户可以编写计划任务也是可以的。
案例四:针对系统用户
/etc/bashrc
当我们需要在同一时间执行的脚本时候避免多次写就可以用run-parts来执行
run-parts:是一个脚本在/etc/bin/run-parts作用就是执行一个目录下的所有脚本/程序
crontab与/etc/crontab的区别
crontab -e 是当前用户自定义的,只针对当前用户生效
/etc/crontab是针对系统所有用户生效的
案例五:扩展计划任务
假设当你的计划任务应该在某个时间点执行,但由于一些因素(断电)没有执行那么这个计划任务还执不执行,什么时候执行?
会在开机以后会开机检查,计划任务那些需要执行哪些不需要执行,然后在指定的时间内去执行