定时任务指在指定时间进行的工作流程
命令 at 用于处理仅执行一次的任务(要有atd服务支持,指令记录到/var/spool/at/),-m用邮件通知工作已完成,-l (atq)列出当前系统上面该用户的at任务,-d (atrm)取消任务,-c [job]列出该项任务的实际指令内容
使用如下命令重启atd并设置为开机自启
如下规定在8分钟后执行exit命令(Ctrl+d推出at命令行)
命令 batch 使用 at 进行指令的下达,不过只有在CPU工作负载小于0.8的时候才会运行任务
命令 crontab 用于处理循环的任务(要有crond服务支持,指令记录到/var/spool/cron/user/,执行的工作记录到/var/log/cron),-u 只有root才能进行的任务,-e 编辑任务,-l 查阅任务,-r 移除所有任务
输入 crontab -e 进入vi编辑界面,格式为 分 时 日 月 周 指令
符号 | 意义 |
---|---|
* | 表示任意时间 |
, | 表示多个时间,0 8,12 * * * command表示8点和12点执行命令 |
- | 表示时间范围,0 8-12 * * * command表示8-12点之间的每小时0分执行命令 |
/ | 表示时间间隔,*/5 * * * * command表示每隔5分钟一次 |
如下设置每天12点将1.txt的内容以邮件的形式发送给用户song
crontab命令用于编辑用户的任务,而系统的任务定义在 /etc/crontab,cron服务每分钟都会读取系统任务(/etc/crontab)和 用户任务(/var/spool/cron/user/)
/etc/crontab 用于放置系统任务,第三方应用的任务则放在 /etc/cron.d 下
corntab 的任务超过时间(如电脑关机)就会失效,而命令 anacron 可唤醒未被系统运行的crontab任务
-s 开始一连续的执行各项工作,会依据timestamps判断是否进行,-u 强制执行,-n 立刻执行未进行的任务,-u 更新timestamps但不进行任务
文件 /etc/anacrontab 记录任务,格式为 天数 延迟时间(min) 工作名 实际指令,由 /etc/cron.hourly/0anacron每小时调用一次,执行anacron并读取/etc/anacrontab
文件 /var/spool/anacron 记录时间戳