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