Linux Cent OS7 at定时任务使用及说明
at定时任务
at是一次性定时任务,at的守护进程atd会在后台运行,检查作业队列(就是任务队列)来运行,通常每60秒检查一次
有作业时,会检查队列里作业的运行时间,如果有与当前时间匹配的,则运行此作业
执行完一个任务后就不会再执行此任务了
使用at指令时要保证atd进程的启动,可以使用相关指令来进行查看
ps -ef | grep atd
检查当前进程
可以看到两行,一行是atd的,一行是刚才过滤进程的
基本语法
at [选项] [时间]
然后会让你写入要执行的命令或程序
Ctrl + D按两次结束命令的输入
选项:
| 选项 | 作用 |
|---|---|
| -m | 当指定任务被完成后向用户发送邮件 |
| -I | atp的别名 |
| -d | atrm的别名 |
| -v | 显示任务将被执行的时间 |
| -c | 打印任务的内容到标准输出 |
| -V | 显示版本信息 |
| -q [队列] | 使用指定的队列 |
| -f [文件] | 从指定文件读入任务而不是从标准输入读入 |
| -t [时间参数] | 以时间参数的形式提交要运行的任务 |
at时间定义
at指定时间的方法和crond不同
| 1 接受再当前的(小时:分钟)时间指定,如果该时间已经过去,那就在第二天执行,比如 8:00 |
| 2 使用部分词语设置,比如midnight午夜0:00,noon中午12:00,teatime下午16:00 |
| 3 12小时制,在时间后面要加上AM上午或者PM下午来说明,比如12pm |
| 4 采用命令执行的具体日期,格式为month day(月 日)或mm/day/yy(月/日/年)或dd.mm.yy(日.月.年),必须跟在指定的时间后面,比如4:00 2021-11-7 |
| 5 使用相对计时法,指定格式为 now + count time-units,now就是当前时间,count是具体数字,几天,几小时,time-units是时间单位,时间单位可以是minutes分钟,hours小时,days天,weeks星期,示例:now + 5minutes,5分钟以后执行这个命令 |
| 6 直接使用today今天,tomorrow明天来完成命令的时间 |
具体根据实际情况来用,如下方实例
1三天后的下午四点执行/bin/ls /home

2明天下午五点,输出时间到指定文件

3四分钟后,输出时间到指定文件

4两分钟后,执行指定脚本/my.sh
(需要这个脚本存在并且有可执行权限)

然后我们可以查看当前拥有的任务和删除任务
- 查看
atq
示例:

- 删除
atrm [编号]
编号就是上面atp查看时最左边的数字

总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Ubuntu搭建Eclipse+JDK+SDK的Android开发环境
本篇文章主要介绍了Ubuntu搭建Eclipse+JDK+SDK的Android开发环境,有兴趣的同学可以了解一下。2016-11-11
CentOS 安装软件出现错误:/lib/ld-linux.so.2: bad ELF interpreter 解决
这篇文章主要介绍了CentOS 安装软件出现错误:/lib/ld-linux.so.2: bad ELF interpreter 解决的相关资料,需要的朋友可以参考下2017-03-03
CentOS7中MariaDB修改datadir后无法启动的解决方法
这篇文章主要给大家介绍的是在CentOS 7系统中,MariaDB修改datadir后无法启动的解决方法,文中给出了详细解决方法,相信会对大家的理解很有帮助,有需要的朋友们下面来一起看看吧。2016-10-10
Windows 和 Linux 上Redis的安装守护进程配置方法
​ Redis是目前最常用的非关系型数据库(NOSql)之一,常以Key-Value的形式存储。这篇文章主要介绍了Windows 和 Linux 上Redis的安装守护进程配置 ,需要的朋友可以参考下2019-06-06


最新评论