当前位置: 首页 > Linux

Linux的at命令

时间:2023-04-06 22:40:59 Linux

在使用shell脚本时,您可能希望在特定时间运行shell脚本。Linux系统提供了多种在特定时间运行shell脚本的方式,其中一种就是使用at命令。at命令允许您指定Linux系统何时运行脚本。at命令将作业提交到队列并指定shell何时运行该作业。at守护进程atd在后台模式下运行,检查作业队列以运行作业。atd守护程序检查系统上的一个特殊目录以查找由at命令提交的作业。默认情况下,atd守护程序每60秒检查一次目录。当有作业时,检查作业运行时间,如果时间与当前时间匹配,则运行作业。at允许使用一组相当复杂的方法来指定时间。它可以接受当天的hh:mm(小时:分钟)时间规范。如果时间已经过去,它将在第二天执行。当然,也可以用midnight(深夜)、noon(中午)、teatime(喝茶时间,一般是下午4点)等含糊的词来指定时间。用户也可以采用12小时制,即在时间后加上AM(上午)或PM(下午)来表示是上午还是下午。也可以指定命令执行的具体日期,指定格式为monthday(月日)或mm/dd/yy(月/日/年)或dd.mm.yy(日.月.年)。指定的日期必须跟在指定的时间之后。以上都是绝对计时方式,其实你也可以使用相对计时方式,这对于安排即将执行的命令非常好。指定格式为:now+counttime-units,now为当前时间,time-units为时间单位,这里可以是minutes(分钟),hours(小时),days(天),weeks(周)。count是时间的长短,可以是几天,也可以是几个小时,等等。另一种计时方法是直接用today(今天)和tomorrow(明天)来指定完成命令的时间。需要安装这个命令Centos>yum-yinstallat>systemctlstartatd>systemctlenableatdUbuntu>sudoapt-getinstallat-y命令格式at[参数][时间]命令功能在指定的时间执行指定的任务,只可以执行命令参数-m当指定的任务完成时,会向用户发送邮件,即使没有标准输出到stdout-V显示版本信息-q使用指定的队列-f从指定文件而不是标准输入读取任务-t<时间参数>提交以作为时间参数运行任务其他命令atq查看所有任务arm删除任务at允许使用一组相当复杂的方法来指定时间。他可以接受当天的hh:mm(小时:分钟)时间规范。如果时间已经过去,它将在第二天执行。当然,也可以用midnight(深夜)、noon(中午)、teatime(喝茶时间,一般是下午4点)等含糊的词来指定时间。用户也可以采用12小时制,即在时间后加上AM(上午)或PM(下午)来表示是上午还是下午。也可以指定命令执行的具体日期,指定格式为monthday(月日)或mm/dd/yy(月/日/年)或dd.mm.yy(日.月.年)。指定的日期必须跟在指定的时间之后。以上都是绝对计时方式,其实你也可以使用相对计时方式,这对于安排即将执行的命令非常好。指定格式为:now+counttime-units,now为当前时间,time-units为时间单位,这里可以是minutes(分钟),hours(小时),days(天),weeks(周)。count是时间的长短,可以是几天,也可以是几个小时,等等。另一种计时方法是直接用today(今天)和tomorrow(明天)来指定完成命令的时间。Execute/bin/lsat4pm+3daysat>/bin/lsat>job5atTueMar1616:00:002021明天10点按ctrl+d,输出时间到了在指定的file>at10:00tomorrowat>date>/tmp/a.logat>job6atSunMar1410:00:002021pressctrl+dtoviewattasklist>atq5TueMar1616:00:002021aroot6SunMar1410:00:002021aroot显示已经设置的任务内容>at-c5#!/bin/sh/bin/ls删除已经设置的任务>atrm5原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门站