at:在指定的时间运行命令,用于执行一次性的计划任务

at有很多变体命令,可以理解为不同at选项命令组合的别名命令。

at最重要的是灵活多变的时间格式!

 

at的时间格式:参见 /usr/share/doc/at/timespecs

绝对格式:

HH:MM:(24小时制的)小时+分钟数,如果指定的时刻已经过去,则at任务会在下一日的该时刻运行

HH:MM [AM|PM]:(12小时制的)小时+分钟数,如果指定的时刻已经过去,则at任务会在下一日的该时刻运行

midnight、noon、teatime:时间文字值

HH:MM [year] [month-name] day:指定年、月、日

HH:MM [MMDDYY|MM/DD/YY|MM.DD.YY]:指定年、月、日

指定-t选项:[[CC]YY]MMDDhhmm[.ss]

 

相对格式:

now + count {minutes|hours|days|weeks}

HH:MM + {tomorrow|today}

 

at命令的选项:

-t:计划任务的时间。该选项通常无需给出!

-l:列出at计划任务。等价于:atq

-d:删除计划任务。等价于:atrm

 

-q:查询特定任务信息

-m:任务完成,向用户发送邮件通知

-f:从文件而不是控制台 读入计划任务命令

 

-c:将任务配置信息、命令内容等 打印到控制台

-v:显示任务开始执行时的时间信息

 

 

at命令的执行用户控制:

/etc/at.allow:最高优先级at用户控制文件,只有列表内的用户才有权安排at计划任务

/etc/at.deny:次级at用户控制文件,只有 不在 列表内的用户才有权安排at计划任务

:默认情况下,系统只有at.deny控制文件,正常用户都不在列表内——即正常的用户都可以使用at安排计划任务

 

 

相关文件

/etc/at.allow

/etc/at.deny

/var/spool/cron/atjobs

/var/spool/cron/atspool

/proc/loadavg