前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >at----定时任务命令

at----定时任务命令

作者头像
cultureSun
发布2023-05-18 14:18:19
6120
发布2023-05-18 14:18:19
举报
文章被收录于专栏:cultureSun学安全

简介

at命令是linux另一个常用的定时任务命令。和crontab不同,crontab是循环执行,每过指定时间段就会执行一次,像闹钟。at命令是到指定的时间点执行一次,只执行一次,像记事本,事做完了就没用了。

详解

查看帮助文档

代码语言:javascript
复制
┌──(root㉿kali)-[~/Desktop]
└─# at -h 
Usage: at [-V] [-q x] [-f file] [-u username] [-mMlbv] timespec ...
       at [-V] [-q x] [-f file] [-u username] [-mMlbv] -t time
       at -c job ...
       at [-V] -l [-o timeformat] [job ...]
       atq [-V] [-q x] [-o timeformat] [job ...]
       at [ -rd ] job ...
       atrm [-V] job ...
       batch

Bash

除了at命令,还附带了atq、atrm、batch命令。

参数详解

-d

删除系统中的等待作业(等效于atrm命令)

-c

打印任务的内容

-q

使用指定的列队

-f

将指定文件提交等待作业(脚本文件,以行解析,每行都是一个定时任务)

-t

以时间的形式提交运行作业

atq

查看当前的任务列表

batch

当负荷平均下降到低于0.8时执行命令(相当于指定时间参数的at命令)

时间格式

HH:MM

比如04:00代表4:00AM。如果时间过去,会变成在第二天此时

Midnight

代表12:00AM

Noon

代表12:00PM

Teatime

代表4:00PM

英文 月 日期 年份

比如'October 08 2022',代表2022年十月八日

MMDDYY、MM/DD/YY、MM.DD.YY

比如'100822',代表2022年十月八日

now+数字 时间单位

时间单位:min、hour、day、week。比如'now+10 min',代表从现在开始十分钟后执行

注意:在使用at命令时可以指定Midnight、Noon和Teatime时间参数,也可以指定midnight、noon和teatime时间参数。也就是说这三个时间参数的第一个字母可以大写也可以小写,都能使用。

实例

代码语言:javascript
复制
┌──(root㉿kali)-[~/Desktop]
└─# at now+10 min        #at + 指定时间 ,进入at命令交互
warning: commands will be executed using /bin/sh
at Sat Oct  8 09:09:00 2022
at> ls > ll.txt          #输入定时任务(ls > ll.txt),按 enter 结束
at> <EOT>                #按 ctrl+d ,退出at命令交互
job 8 at Sat Oct  8 09:09:00 2022
                                                                             
┌──(root㉿kali)-[~/Desktop]
└─# atq      #查询定时任务,(8)是任务编号     
8       Sat Oct  8 09:09:00 2022 a root
                                                                             
┌──(root㉿kali)-[~/Desktop]
└─# at -c 8      #显示定时任务的内容,在输出内容末尾,中间省略大部无用内容
#!/bin/sh
# atrun uid=0 gid=0
# mail root 0
省略号
ls > ll.txt
                                                                             
┌──(root㉿kali)-[~/Desktop]
└─# atrm 8     #删除指定编号的定时任务       
                                                                             
┌──(root㉿kali)-[~/Desktop]
└─# atq        #查询定时任务,发现已经删除

Bash

代码语言:javascript
复制
┌──(root㉿kali)-[~/Desktop]
└─# batch      #batch和at一样,交互也是以at开头,操作也一样,只是batch的触发条件不是时间,是负荷平均下降到低于0.8时执行命令                             
warning: commands will be executed using /bin/sh
at Sat Oct  8 09:08:00 2022
at> ls > ll.txt
at> <EOT>
job 9 at Sat Oct  8 09:08:00 2022

Bash

代码语言:javascript
复制
┌──(root㉿kali)-[~/Desktop]
└─# touch at.sh     #创建at.sh脚本文件                                      
                                                                             
┌──(root㉿kali)-[~/Desktop]
└─# echo '#!/bin/sh' > at.sh && echo 'ls > ll.txt' >>at.sh   #向脚本写入内容
                                                                             
┌──(root㉿kali)-[~/Desktop]
└─# cat at.sh     #输出脚本文件内容
#!/bin/sh
ls > ll.txt
                                                                             
┌──(root㉿kali)-[~/Desktop]
└─# at -f at.sh 10/08/2023     #定时2023年10月8日执行脚本文件
warning: commands will be executed using /bin/sh   #输出提示:脚本将以/bin/sh执行
job 17 at Sun Oct  8 09:21:00 2023
                                                                             
┌──(root㉿kali)-[~/Desktop]
└─# atq     #查询定时任务                
17      Sun Oct  8 09:21:00 2023 a root
                                                                             
┌──(root㉿kali)-[~/Desktop]
└─# at -c 17    #显示定时任务内容          
#!/bin/sh
# atrun uid=0 gid=0
# mail root 0
省略号
#!/bin/sh
ls > ll.txt

Bash

用户设置

用户可以使用 at 命令设置一次性计划任务,那么也可以控制哪些用户可以使用计划任务(在白名单中),哪些用户不可以使用计划任务 at 一次性计划任务的白名单是 at.allow(/etc/at.allow) ,黑名单是 at.deny(/etc/at.deny)。

结束语

注意:脚本是以/bin/sh执行,所以得是shell脚本。 若有帮助收藏一下本站吧,一起学习进步赚高薪。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 详解
    • 查看帮助文档
      • 参数详解
        • 时间格式
          • 实例
            • 用户设置
            • 结束语
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档