5.5 定时运行脚本
在处理脚本时,总会遇到需要在给定时间运行脚本。Linux系统提供3中方式在预定时间运行脚本:at命令、batch命令、cron表格。每种方法使用不同的技术调度运行脚本的时间和频率。
5.5.1使用at命令调度作业
at命令允许指定Linux系统运行脚本的时间。at命令将作业提交到一个队列,并指示shell在何时运行该作业。另一个命令atd以后台模式运行,并检查作业队列以运行作业。大部分Linux发行版都可以在启动时自动启动该特性。
atd命令检查系统上的特殊目录,以便运行使用at命令提交的作业。默认情况下,atd命令每隔60秒检查一次该目录。如果存在作业,atd命令检查运行作业的时间。如果时间与当前时间匹配,则atd命令将运行该作业。
1.at命令格式
at命令的基本格式很简单:at [-f filename] time。默认情况下,at命令将STDIN的输入提交到队列。可以使用-f参数指定用于读取命令的的文件名(脚本参数)。
time参数指定Linux系统运行作业的时间。at命令可以识别各种时间格式:
l 标准的小时和分钟格式,比如10:15
l AM/PM指示符,比如10:15PM
l 具体指定的时间,比如now、noon、midnight、teatime(4PM)
如果指定一个已经过去的时间,at命令将在第二天的那个时间运行作业。
除了指定运行作业的时间之外,还可以包括具体的日期,可以使用各种格式的日期:
l 标准的日期格式,比如:MMDDYY、MM/DD/YY、DD.MM.YY
l 文本日期格式,比如Jul4、Dec 25,