RHCE网络服务配置之单一例行任务

1、什么是单一例行任务

单一例行任务指的是在Linux系统中使用at命令来执行单一的例行任务,而不是循环或多个任务。

2、AT命令

at的守护进程atd会以后台模式运行,检查作业队列来运行。

默认情况下,atd守护进程每60秒检查作业队列,有作业时,会检查队列中的所有作业运行时间, 如果时间与当前时间匹配,则运行此作业。(也就是说,at守护 进程的最小时间单位是分钟)

注意:这里的队列并不是说第一个执行了后面的才能执行,每次 都会检查所有的任务的 保证atd进程的启动,可以使用相关指令来查看

bash 复制代码
 ps -ef |grep atd

命令格式:at [参数] [时间]

复制代码
参数:
-m 当任务完成之后,即使没有标准输出,将给用户发送邮件
-l atq的别名,可列出目前系统上面的所有该用户的at调度
-d atrm的别名,可以取消一个在at调度中的工作
-v 使用较明显的时间格式,列出at调度中的任务列表
-c 可以列出后面接的该项工作的实际命令内容
-f 从文件中读取作作业
时间格式:
HH:MM  在今天的HH小时MM分钟执行,如果今天的这个时间点已经过了,则明
天执行
HH:MM YYYY-MM-DD  强制规定在某年某月的某一天的特殊时刻进行该工作
now + 2 minutes 从现在开始几分钟minutes, hours, days, or weeks

例如,要在明天下午3点执行一个名为"myjob"的任务,可以使用以下命令:

bash 复制代码
echo "command to execute" | at -M youremail@example.com tomorrow 15:00
复制代码
这将在明天下午3点执行"command to execute"命令,并在任务完成后发送一封包含结果的电子邮件到指定的邮箱地址。

请注意,at命令通常需要以root用户身份运行,或者具有适当的权限才能执行计划任务。

3、 at命令有什么用法

at命令在Linux系统中用于安排一次性任务在特定的时间执行。这对于需要在非工作时间或未来某个时间点运行的任务非常有用。下面是一些常见的用法和示例:

  1. 基本用法:

要在特定时间执行一个命令,可以使用以下格式:

bash 复制代码
at [时间]

然后输入你想要执行的命令,按 `Ctrl+D` 结束输入。

  1. 从文件执行命令:

如果你有一个包含多个命令的文件,你可以使用 `-f` 选项来指定该文件:

bash 复制代码
at -f /path/to/commands.txt [时间]
  1. 邮件通知:

使用 `-m` 或 `-M` 选项可以在任务完成后发送电子邮件通知:

bash 复制代码
at -M youremail@example.com [时间]
  1. 改变工作目录:

使用 `-c` 选项可以改变工作目录到指定的目录:

bash 复制代码
at -c /path/to/directory [时间]
  1. 输出重定向:

使用 `-a` 选项可以将输出重定向到一个文件:

bash 复制代码
at -a /path/to/logfile [时间]
  1. 显示队列:

使用 `-l` 选项可以列出当前用户的所有预定任务:

bash 复制代码
at -l
  1. 删除任务:

使用 `atrm` 命令可以删除一个已预定的任务,需要提供任务的编号:

bash 复制代码
atrm 任务编号
  1. 查看帮助信息:

使用 `-h` 或 `--help` 选项可以查看 `at` 命令的帮助信息:

bash 复制代码
at --help
  1. 系统默认设置:

可以通过编辑 `/etc/at.deny` 和 `/etc/at.allow` 文件来控制哪些用户可以使用 `at` 命令。如果 `at.deny` 文件存在,只有列在 `at.allow` 文件中的用户才能使用 `at` 命令;如果 `at.deny` 文件不存在,任何用户都可以使用 `at` 命令,除非他们被列在 `at.allow` 文件中并被禁止。

相关推荐
A小辣椒1 天前
TShark:Wireshark CLI 功能
linux
A小辣椒2 天前
TShark:基础知识
linux
AlfredZhao2 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao2 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334663 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪3 天前
linux 拷贝文件或目录到指定的位置
linux
大树883 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠3 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质3 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush43 天前
嵌入式linux学习记录十四、术语
linux·嵌入式