Linux 计划任务详解

简介

Linux任务计划分为周期性计划任务和非周期性计划任务两种。

周期性任务,通常使用crontab来配置。

非周期性任务,通常使用at来实现。

crontab

crontab的使用在《crontab参数详解》中已有详细说明,这里就不再累述。

at

at命令意为稍后执行,即在指定时间点执行指定任务,命令执行结果以邮件发送给提交作业的用户

注意:要保证atd服务正常运行,at的配置才会生效。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
at [OPTION]... TIME

TIME:
HH:MM [YYYY-mm-dd]
noon,midnight, teatime
tomorrow
now+UNIT
UNIT:minutes, hours, days, OR weeks

常用选项:
-l:查看作业队列,相当于atq;
-f /PATH/FROM/SOMEFILE:从指定文件中读取作业任务,而不用再交互式输入;
-d:删除指定的作业,相当于atrm;
-b:空闲时执行,相当于batch;
-c:查看指定作业的具体内容,可查看作业所使用的变量及环境信息;
-q QUEUE:指明队列,单个字母表示,默认使用a队列;

# 默认为从标准输入交互式输入,使用 Ctrl+D 结束输入并生效。

at -b命令意为空闲时执行(相当于batch),即让系统自行选择在系统资源较空闲(默认为平均负载小于0.8的时候)的时间去执行指定的任务。