目录
计划任务
管理员可以编辑自己的和普通用户的计划任务
普通用户只可以编辑自己的计划任务
计划任务根据执行方式分为一次性计划任务、长期性计划任务
一次性计划任务
此计划只执行一次,执行后或就不会再执行了
通过at命令来实现
at 时间
输入想要执行的任务
ctrl + d 保存并退出
ctrl + c 直接退出
at -c 任务编码 查看计划任务的工作
at -l 显示待执行的任务列表(显示任务编号 任务执行时间 发起用户)
at -d 任务编码 删除指定待执行任务
at -m 任务执行后给用户发邮件
at now +5 MINUTE 创建任务,5分钟后执行(HOUR时、DAY天、MONTH月)
atrm命令
atrm 任务编码 删除计划任务
长期性计划任务Crontab
长期性计划任务,周期性的根据时间规则执行任务
时间规则格式-此格式是固定的,如果不配置参数,需要使用*来做占位
分、时、日、月、星期 、命令
其中命令的使用方式必须是 命令路径方式(可以通过which来进行查找)
即ls -l 需要写为 /usr/bin/ls -l
计划任务的例子:
10 21 12 * * 命令 每月的12号21点10分执行任务
* * * */2 * 命令 当下开始每间隔两个月
* * * 1,2,3 * 命令 1、2、3个月
* * * 1-5 * 命令 1到5个月
一般星期和日期只选择一个进行书写
crontab命令
周期计划任务通过Linux的crond守护进程来实现
而crond服务需要通过crontab命令来进行配置
即:crond是服务名称、crontab是配置工具名称
需要开启crond服务
systemctl enable crond 开启crond服务
systemctl restart crond 重新启动crond服务
如果配置了计划之后没有生效,可以重新启动下服务
命令格式
crontab -e 创建/编辑计划任务
-u 用户名 创建/编辑针对某个用户的计划任务
crontab -l 查看计划任务
crontab -r 删除计划任务
也可以直接通过命令路径的方式编辑计划
vim /etc/crontab 来创建/编辑计划任务
不过不推荐使用vim进行编辑,虽然有注释,但是没有纠错功能
使用crontab有纠错功能,不过crontab 默认也是通过调用vim编译器来实现的
注意事项
当普通用户使用at和crontab不起作用时,不一定是计划任务的原因
还可能是用户权限的问题