定时(计划)任务:
未来的某时间点执行一次某任务或者周期性的运行某个任务,执行结果会通过邮件的 形式发送给用户 。
分类:
- 定点执行一次某任务:at,batch
- 周期性的运行某任务:crontab
一.定时任务语法及配置文件 :
1.一次性任务 at
计划任务,在特定的时间执行某项工作,在特定的时间执行一次,需要安装at服务。
时间定义:
-
能够接受在当天的hh:mm(小时:分钟)式的时间指定。假如该时间已过去,那么就放在第二天执行
-
能够使用midnight(深夜),noon(中午),teatime(饮茶时间,一般是下午4点)等比较模糊的词语来指定时间
-
能够采用12小时计时制,在时间后面加上AM(上午)或PM(下午)来说明是上午还是下午。
例如:12pm
-
能够指定命令执行的具体日期
例如:04:00 2009-03-1
-
能够使用相对计时法。指定格式为:now + count time-units
例 如:now + 5 minutes 04pm + 3 days
-
能够直接使用today(今天)、tomorrow(明天)来指定完成命令的时间
at 语法
-V | 印出版本编号 |
---|---|
-q | 使用指定的伫列(Queue)来储存,at 的资料是存放在其中,使用者可以同时使用多个queue,queue 的编号为 a-z 以及 A-Z 共 52 个 |
-m | 即使程序/指令执行完成后没有输出结果, 也要寄封信给使用者 |
-f file | 读入预先写好的命令档 |
-l,或者 atq | 列出所有的指定 |
-d或atrm | 删除指定定时任务 |
-v | 列出所有已经完成但尚未删除任务的指定 |
- 创建一个定时任务
[root@xiaoagiao ~]# at now +1 minutes //创建一个任务 一分钟之后执行
at> echo "1111" /tmp/file //写入/tmp/file
at> <EOT> /ctrl+d退出
job 5 at Mon Apr 6 01:22:00 2020
- 查看任务
[root@xiaoagiao ~]# atq //查看任务
You have new mail in /var/spool/mail/root
[root@xiaoagiao ~