目录
at:单一一次的任务计划
at命令简单介绍(建议:man at)
创建计划
删除任务计划
禁止某用户创建计划
crontab:周期性任务计划
crontab命令介绍
1.查看crond服务程序运行状态(两种方法)
2.编辑crontab:
3.查看编辑的crontab文件路径(可用vim或crontab -e继续编辑)
4.查看指定用户的周期计划
5.删除计划
6.两种编辑crontab的区别
7.查看周期性任务计划是否执行成功
at:单一一次的任务计划
想要实现单一一次的任务计划,必须确保当前主机有at服务程序即atd服务进程并且在主机上已经运行,如果不运行则不能访问对应服务
at命令简单介绍(建议:man at)
命令格式:at【参数】【时间】
参数 说明 -m 当任务完成后,即使没有标准输出,将给用户发送邮件 -l atq的别名,可列出目前系统上面的所有该用户的at调度 -d atrm的别名,可以取消一个在at调度中的工作 -v 使用较明显的时间格式,列出at调度中的任物列表
-c 可以列出后面接的该项工作的实际命令内容 -f 从文件中读取作业 时间格式:
参数 说明 HH:MM 在今天的HH小时MM分钟执行,如果今天的这个时间点已经过了,则明天执行 HH:MM YYYY-MM-DD 规定在某年某月某日的某一时间点执行该工作 now + 2 minutes 从现在开始的几分钟minutes,hours,days or weeks
创建计划
1.查看atd程序(建议:man ps)
2.设置单一一次的任务信息(例:广播 nihao)
1.编辑完成后按 “ctrl + d” 即可退出
2.执行完命令后,命令会自动删除,再次执行需重新设置
3.任务文件所在目录为:/var/spool/at
任务文件名称随机创建且不建议更改,文件内容为脚本实现
删除任务计划
1.查看任务编号(两种方式查看)
2.删除任务计划(两种方式)
“atrm + 任务编号”
或者找到并删除创建的任务计划文件
禁止某用户创建计划
默认情况下所有用户都是可以创建任务计划的,想要禁止某一用户需在 /etc/at.deny 文件中添加禁止用户即可
用户被禁止创建计划后,如果之前有创建过计划,则计划仍会执行
crontab:周期性任务计划
crontab命令介绍
命令格式:crontab [-u user] [-l | -r | -e]
参数 说明 -u 只有root才能进行这个任务,帮某个用户新建/删除 crontab -e
编辑crontab的工作内容 -l 查阅crontab的工作内容 -r 删除所有crontab的工作内容
1.crontab时间格式:分 时 日 月 周
date时间格式:月 日 时 分 年 点 秒(校招笔试会问)
2.文件格式为:每一行为一个工作,每项工作具有6个字段
为什么用绝对路径:进入缓冲区后无法匹配环境变量 ,而在其他路下面可执行任意命令是因 为path环境变量
代表意义 分钟 小时 日期 月份 周 命令 数字范围 0-59 0-23 1-31 1-12 0-7
0和7都代表周日
执行命令的绝对路径
文件内的特殊字符:
特殊字符 含义 * 代表每个时刻 , 间隔符 - 指定时间范围 / 间隔频率 例: */1 :每隔1分(/时/日/月/周)
1-5 : 周1-周5
1,3,5:第1周第3周第5周(分/....)
1.查看crond服务程序运行状态(两种方法)
2.编辑crontab:
例:创建文件 /aaa
crontab -e
以普通用户创建crontab
crontab -e -u john2
3.查看编辑的crontab文件路径(可用vim或crontab -e继续编辑)
4.查看指定用户的周期计划
5.删除计划
进入计划表删除所编辑的计划
或者删除任务文件
6.两种编辑crontab的区别
crontab -e :以某一用户进行编辑,其他用户没有读取权限,不同用户的任务文件会分开
vim /etc/crontab:对系统所有用户生效(可读权限),记录所有用户的周期性任务信息
7.查看周期性任务计划是否执行成功
tail -f :查看文件后10行并不会退出,显示追加后的结果
tail -f /var/log/cron :查看周期性任务计划日志文件(可查看周期性任务计划是否执行成功)
注: 普通用户 / 下创建文件需要权限