Linux Cent OS7 at定时任务

at定时任务

at是一次性定时任务,at的守护进程atd会在后台运行,检查作业队列(就是任务队列)来运行,通常每60秒检查一次

有作业时,会检查队列里作业的运行时间,如果有与当前时间匹配的,则运行此作业

执行完一个任务后就不会再执行此任务了

使用at指令时要保证atd进程的启动,可以使用相关指令来进行查看

bash 复制代码
ps -ef | grep atd 

检查当前进程

可以看到两行,一行是atd的,一行是刚才过滤进程的

基本语法:

bash 复制代码
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

(需要这个脚本存在并且有可执行权限)

然后我们可以查看当前拥有的任务和删除任务

  • 查看
bash 复制代码
atq

示例:

  • 删除
bash 复制代码
atrm [编号]	

编号就是上面atp查看时最左边的数字

相关推荐
ltl5 小时前
内核追踪:ftrace、kprobe、uprobe、tracepoint 生产实战
linux
·薯条大王5 小时前
经济实惠玩云服务器|一台云服务器多人共用,子账号配置教程
java·linux·运维·服务器·汇编·c++·python
ZJH__GO8 小时前
网络编程v4pro--实现聊天室文件传输功能
java·服务器·网络·计算机网络
小小、码农8 小时前
Linux进程控制:从fork到exec,手写一个简易Shell
linux·运维·服务器
不会就选b9 小时前
Linux之进程间通信(二)---模拟进程池
linux·运维·服务器
NeilYuen10 小时前
用UDP实现向DNS服务器请求IP地址
服务器·tcp/ip·udp
沫璃染墨11 小时前
《从零入门Linux系统篇(十五):系统工具篇·六——GDB调试器详解:从程序执行控制到高级调试技巧》
linux·运维·服务器·c语言·c++
AIgorithmGEEK11 小时前
Linux 环境变量完全指南:从入门到理解底层原理
linux·运维·服务器
修罗王12 小时前
Linux Docker 服务管理与排查实战指南(新手速查版)
运维·docker
迪康Defender12 小时前
从静态存储到动态流转:终端透明加密两种模式实战解析
运维·服务器·网络·数据库·其他