linux 指定时间 执行一次 命令

linux 指定时间 执行一次 命令

指令:

echo "hello I am JingYong aaaaa " >> at.txt | at 16:35 2022-08-01

输入密码怎么办?

at允许使用一套相当复杂的指定时间的方法:

● 能够接受在当天的hh:mm(小时:分钟)式的时间指定。假如该时间已过去,那么就放在第二天执行。 例如:04:00
● 能够使用midnight(深夜),noon(中午),teatime(饮茶时间,一般是下午4点)等比较模糊的词语来指定时间。
● 能够采用12小时计时制,即在时间后面加上AM(上午)或PM(下午)来说明是上午还是下午。 例如:12pm
● 能够指定命令执行的具体日期,指定格式为month day(月 日)或mm/dd/yy(月/日/年)或dd.mm.yy(日.月.年),指定的日期必须跟在指定时间的后面。 例如:04:00 2009-03-1
● 能够使用相对计时法。指定格式为:now + count time-units ,now就是当前时间,time-units是时间单位,这里能够是minutes(分钟)、hours(小时)、days(天)、weeks(星期)。count是时间的数量,几天,几小时。 例如:now + 5 minutes 04pm + 3 days
● 能够直接使用today(今天)、tomorrow(明天)来指定完成命令的时间。

也许你的Ubuntu没有at命令,先安装
sudo apt install at

在某时刻执行命令

  • at 15:30:回车之后,需要在at后输入指令,表示在15:30要执行的指令
  • 比如输入touch attest.txt,表示在15:30创建一个名为attest.txt的文件
  • 你还可以继续在at后添加命令,也可以选择退出ctrl+D
    在明天15:30执行
  • at 15:30 tomorrow
    在2019年10月20日15:30执行
  • at 15:30 10/20/19
    在30分钟后执行
  • at now +30 minutes
    atq列出等待中的延时任务
    atrm撤销延时任务
  • atrm 1:撤销编号为1的延时任务

用at命令提交作业

at命令用来向atd守护进程提交需要在特定时间运行的作业.要运行的命令可以作为脚本提交(用-f命令行选项),也可以

通过标准输入直接输入.命令的标准输出将用电子邮件的形式寄给用户

at [[-f filename] | [-m]] time

规定一天中的时间可以用HH:MM格式,后面附加"am"或"pm",也可以用"midnight","noon"和"teatime"待词语.日期也可以

用好几种格式规定,其中mm/dd/yy

例如要在14:13这个时间生成一个名叫at.txt的文件并在文件中写入"hello I am JingYong"信息

[root@sidatabase /]# echo "hello I am JingYong " > at.txt | at 14:13

job 1 at 2013-08-23 14:13

查看作业

[root@sidatabase /]# atq

1 2013-08-23 14:13 a root

删除作业

[root@sidatabase /]# atrm 1

用batch延迟任务

batch命令与at命令一样,用来延迟任务.与at命令不同的是,batch命令不在特定时间运行,而是等到系统不忙于别的

任务时运行.如果提交作业时机器不繁忙,可以立即运行作业.batch守护进程会监控系统的平均负载(load average)

等待它降到0.8以下,然后开始运行作业任务.

batch命令的语法与at命令的语法一模一样,可以用标准输入规定作业,也可以用-f命令行选项把作业作为batch文件

来提交.如果规定了时间,batch会延迟到指定的时间开始观察机器,那时,atd将开始监控系统的平均负载,并且在系统

不繁忙时运行作业.

##at命令介绍

linux 中执行任务计划有三种命令:at ,batch ,cron.其中,at,batch 是一次性执行,而crontab,则是周期性执行。

指令:at

定时任务,指定一个时间执行一个任务,只执行一次。

语法:# at [参数] [时间]

at> 执行的指令

退出at命令 ctrl+d

命令前提:

需要开启atd进程(在redhat中atd是默认随系统启动而启动)

你可能感兴趣的:(linux,linux,ubuntu,运维)