1,例行性工作
例行性工作 —— 在某一时刻,必须要做的事情 —— 定时任务 (比如:闹钟)
例行性工作分为两种:“单一的例行性工作 at”和“循环的例行性工作 crontab”
2,单一执行的例行性工作 at
2.1 介绍at
单一:仅执行一次
例行性工作依靠两个进程来完成 at 和 atd:at用于制造例行任务 atd用于执行该任务
安全措施:利用/etc/at.allow 和 /etc/at.deny限制at的命令执行权限
at 的路径:/var/spool/at
2.2 at命令详解
命令格式:at [参数] [时间]
时间格式:HH:MM :几点几分
AM or PM : 上下午
minutes hours day : 几时/分/天后
参数:
-m:任务执行完成后给用户发邮件
- l :列出该用户所有at调度
- d:取消一个at
- v:列出at列表
- c:列出下个任务的实际内容
- f :文件中读取作业
命令:at+时间+执行的行为 Ctrl+d 保存
查看任务列表:
例:
18:29 给龙哥发送 “long ge ”
查看文件longge:
如果要发送邮件,需要通过yum安装软件:
yum install sendmail -y
yum install mailx -y
systemctl start sendmail 启动
命令格式:echo“内容” | mail -s “标题” 用户
查看邮件命令: mail
3,循环执行的例行性工作 crontab
命令格式: crontab -e ——编辑
分 时 日 月 周 执行的任务 : 时中分,日中时,月中日,年中月
参数: -u:只有root执行,可以给用户添加或删除任务
-e:编辑
- l:查看任务
- r:删除任务
如:为yjl用户添加一个任务,每周一到五发送一个早上好
符号表示: *:任何时刻 ,:分割时段 -:时间范围 /数字:间隔频率
基于参数可以执行不同的表达方式:
例1:
周一到周五早上9点: 0 9 * * 1-5 或者 0 9 * * 1,2,3,4,5
例2:
1月20号早上8:00 8:15 8:30 8:45:0,15,30,45 8 20 1 *
*/15 8 20 1 *
无关的时间用*表示
anacron : 关机时未处理的任务在开机时立刻执行