Linux 中的命令

2023-11-16

at是一个命令行实用程序,允许您安排在特定时间执行的命令。创建的职位at仅执行一次。

在这篇文章中,我们将解释如何使用at及其配套实用程序batch, atq, atrm查看、删除和创建稍后执行的作业。

安装中at #

根据分布情况,at您的 Linux 系统上可能存在也可能不存在。

If at尚未安装,您可以使用发行版的包管理器轻松安装它。

  • Install at在 Ubuntu 和 Debian 上

    sudo apt update sudo apt install at
  • Install at在 CentOS 和 Fedora 上

    sudo yum install at

安装程序后请确保atd,调度守护进程正在运行并设置为在引导时启动:

sudo systemctl enable --now atd

如何使用at命令#

简化的语法为at命令如下:

at [OPTION...] runtime

The at命令采用日期和时间(runtime) 当您想要将作业作为命令行参数执行时,以及要从标准输入执行的命令。

让我们创建一个将在上午 9:00 执行的作业:

at 09:00

一旦你击中Enter,您将看到at命令提示符通常以at>。您还会看到一条警告,告诉您将在其中运行该命令的 shell:

warning: commands will be executed using /bin/sh
at>

输入您要执行的一个或多个命令:

tar -xf /home/linuxize/file.tar.gz

输入完命令后,按Ctrl-D退出提示并保存作业:

at> <EOT>
job 4 at Tue May  5 09:00:00 2020

该命令将显示作业编号以及执行时间和日期。

除了在at迅速的。一种方法是使用echo并将命令通过管道传输到at:

echo "command_to_be_run" | at 09:00

另一种选择是使用这里的文档 :

at 09:00 <<ENDcommand_to_be_runEND

要从文件而不是标准输入读取命令,请使用以下命令调用命令-f选项后跟文件路径。例如,创建一个将运行脚本的作业/home/linuxize/script.sh:

at 09:00 -f /home/linuxize/script.sh

默认情况下,如果命令产生输出,at作业完成后,将向用户发送一封包含输出的电子邮件。调用at-M抑制电子邮件通知的选项:

at 09:00 -M

Use the -m即使没有输出也发送电子邮件:

at 09:00 -m

batch命令#

batch或其别名at -b当系统负载水平允许时,调度作业并在批处理队列中执行它们。默认情况下,当系统平均负载低于 1.5 时执行作业。调用时可以指定负载的值atd守护进程。如果系统平均负载高于指定的负载,作业将在队列中等待。

创造就业机会batch,传递你想要执行的命令:

echo "command_to_be_run" | batch

指定执行时间#

The at实用程序接受广泛的时间规范。您可以指定时间、日期和当前时间的增量:

  • Time- 要指定时间,请使用HH:MM or HHMM形式。要指示 12 小时时间格式,请使用am or pm时间过后。您还可以使用字符串,例如now, midnight, noon, or teatime(16:00)。如果超过指定时间,作业将在第二天执行。

  • Date- 该命令允许您安排作业在给定日期执行。可以使用月份名称后跟日期和可选年份来指定日期。您可以使用字符串,例如today, tomorrow,或工作日。日期也可以使用MMDD[CC]YY, MM/DD/[CC]YY, DD.MM.[CC]YY or [CC]YY-MM-DD格式。

  • 增量 - at也接受增量now + count time-unit格式,其中count是一个数字并且time-unit可以是以下字符串之一:minutes, hours, days, or weeks.

时间、日期和增量可以组合,以下是一些示例:

  • 将下周日的工作安排在比当前时间晚十分钟的时间:

    at sunday +10 minutes
  • 安排作业在两天后下午 1 点运行:

    at 1pm + 2 days
  • 安排作业在 2020 年 10 月 21 日 12:30 运行:

    at 12:30 102120
  • 安排作业从现在开始一小时后运行:

    at now +1 hours

您还可以在中指定时间和日期[[CC]YY]MMDDhhmm[.ss]使用-t选项。这是一个例子:

at -t 202005111321.32

指定队列#

默认情况下,使用创建的作业at被安排在名为的队列中a以及创造的就业机会batch被安排在b queue.

查询的名称可以来自a to z and A to Z。具有较小字母的队列以较低的友好度运行,这意味着它们比具有较大字母的队列具有优先级。

您可以使用以下命令指定队列-q选项。例如,要在L队列,你会运行:

at monday +2 hours -q L

列出待处理的职位#

要列出用户的待处理作业,请运行atq or at -l命令:

atq

输出将列出所有作业,每行一个。每行包括作业编号、日期、时间、队列字母和用户名。

9	  Tue May  5 12:22:00 2020 a linuxize
12	Wed Oct 21 12:30:00 2020 a linuxize
15	Tue May  5 09:00:00 2020 a linuxize
6	  Tue May  5 09:00:00 2020 a linuxize
13	Mon May  4 23:08:00 2020 a linuxize
11	Wed Jul  1 10:00:00 2020 a linuxize
4	  Tue May  5 09:00:00 2020 a linuxize

When atq作为管理用户调用,它将列出所有用户的待处理作业。

删除待处理的作业#

要删除挂起的作业,请调用atrm or at -r命令后跟作业编号。例如,要删除编号为 9 的作业,您可以运行:

atrm 9

限制用户#

The /etc/at.deny and /etc/at.allow文件允许您控制哪些用户可以创建作业at or batch命令。这些文件由用户名列表组成,每行一个用户名。

默认情况下,仅/etc/at.deny 文件已存在并且为空,这意味着所有用户都可以使用at命令。如果要拒绝特定用户的权限,请将用户名添加到此文件中。

If the /etc/at.allow文件存在,只有该文件中列出的用户才能使用at命令。

如果这两个文件都不存在,则只有具有管理权限的用户才能使用at命令。

结论#

The at实用程序从标准输入读取命令并稍后执行它们。不像crontab,创造的就业机会at仅执行一次。

有关所有可用选项的更多信息at命令类型man at在您的终端中。

如果您有任何疑问,请随时发表评论。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux 中的命令 的相关文章

随机推荐

  • 20 个常见的 Linux 面试问题及解答

    Linux 是世界上最流行的操作系统之一 广泛应用于从 Web 服务器到移动设备的各种应用中 因此 对具有 Linux 专业知识的开发人员和系统管理员的需求很高 无论您是经验丰富的 Linux 专业人士还是初学者 深入了解常见的 Linux
  • 如何在 Debian 9 上安装 Node.js 和 npm

    Node js 是一个基于 Chrome 的 JavaScript 引擎构建的开源跨平台 JavaScript 运行时环境 允许服务器端执行 JavaScript 代码 它主要用于构建服务器端应用程序 但作为全栈和前端解决方案也非常流行 n
  • 如何在 Ubuntu 18.04 上安装 GCC 编译器

    GNU 编译器集合 GCC 是 C C Objective C Fortran Ada Go D 编程语言 许多开源项目 包括 GNU 工具和 Linux 内核 都是用 GCC 编译的 本教程介绍了在 Ubuntu 18 04 上安装 GC
  • 如何在 Ubuntu 20.04 上安装 CouchDB

    Apache CouchDB 是由 Apache 软件基金会开发的免费开源 NoSQL 数据库 它可以用作单节点或集群数据库 CouchDB 服务器将其数据存储在命名数据库中 其中包含具有以下内容的文档JSON结构 每个文档由许多字段和附件
  • 如何在 Ubuntu 18.04 上安装 Spotify

    Spotify是一种数字音乐流媒体服务 可让您即时访问数百万首歌曲 从经典老歌到最新热门歌曲 在本教程中 我们将向您展示如何在 Ubuntu 18 04 桌面上安装 Spotify 相同的步骤适用于 Ubuntu 16 04 和任何基于 U
  • 在 Debian 9 上使用 Let's Encrypt 保护 Apache

    Let s Encrypt 是由互联网安全研究小组 ISRG 创建的证书颁发机构 它通过完全自动化的流程提供免费的 SSL 证书 旨在消除手动证书创建 验证 安装和续订 Let s Encrypt 颁发的证书自颁发之日起 90 天内有效 并
  • 如何在 Ubuntu 18.04 上安装 Tor 浏览器

    Tor 浏览器通过 Tor 网络路由您的网络流量 使其私密且匿名 当您使用 Tor 浏览器时 您正在查看的网站的连接会被加密并免受网络监视和流量分析 使用 Tor 浏览器有一些缺点 通过 Tor 浏览网络比常规互联网连接慢 并且一些主要网站
  • 如何在 CentOS 7 上安装 MongoDB

    MongoDB 是一个免费的开源文档数据库 它被归类为 NoSQL 数据库 与 MySQL 和 PostgreSQL 等传统的基于表的 SQL 数据库不同 在 MongoDB 中 数据存储在灵活的 类似 JSON 的文档中 其中字段可能因文
  • ​如何升级到Ubuntu 20.04

    Ubuntu 20 04 LTS Focal Fossa 于2020年4月23日发布 支持五年 它附带了大量新软件包和主要软件升级 包括最新版本的 OpenJDK GCC Python Ruby 和 PHP 该版本基于 Linux 5 4
  • 如何设置 SSH 隧道(端口转发)

    SSH 隧道或 SSH 端口转发是一种在客户端和服务器计算机之间创建加密 SSH 连接的方法 通过该连接可以中继服务端口 SSH 转发对于传输使用未加密协议的服务的网络数据非常有用 例如 VNC 或FTP 访问地理限制的内容或绕过中间防火墙
  • Linux 中的较少命令

    Less 是一个命令行实用程序 一次一页显示文件内容或命令输出 它类似于more 但具有更高级的功能 并允许您在文件中向前和向后导航 启动时less不读取整个文件 与诸如此类的文本编辑器相比 加载时间要快得多vim or nano The
  • 如何在 CentOS 7 上安装更新

    让您的 CentOS 系统保持最新的安全更新是整体系统安全最重要的部分之一 如果您不使用最新的安全补丁更新操作系统的软件包 您的计算机将容易受到攻击 推荐的方法是使用 yum cron 自动更新 另一种选择是手动更新系统 在本教程中 我们将
  • 如何在 Debian Linux 10 Linux 上安装 VirtualBox

    虚拟盒子是一款开源跨平台虚拟化软件 允许您同时运行多个来宾操作系统 虚拟机 本教程介绍如何在 Debian 10 Buster 上安装最新的 VirtualBox 先决条件 为了能够在 Debian 上安装软件包 您需要以具有 sudo 权
  • Linux 中的 Cd 命令(更改目录)

    The cd 更改目录 命令用于更改 Linux 和其他类 Unix 操作系统中的当前工作目录 它是在 Linux 终端上工作时最基本 最常用的命令之一 The 当前工作目录是用户当前正在其中工作的目录 文件夹 每次与命令提示符交互时 您都
  • 如何在 Debian 9 上安装 Plex 媒体服务器

    Plex 是一款流媒体服务器 可让您组织视频 音乐和照片收藏 并将它们随时随地流式传输到您的所有设备 本教程介绍了如何安装Plex 媒体服务器在 Debian 9 上 先决条件 您登录时必须拥有的用户须藤权限能够安装软件包 安装 Plex
  • 如何在 CentOS 7 上安装 Vagrant

    Vagrant是一个用于构建和管理虚拟机环境的开源命令行工具 默认情况下 Vagrant 可以在 VirtualBox Hyper V 和 Docker 之上配置计算机 其他提供商如 Libvirt KVM VMware 和 AWS 可以通
  • 如何在 Ubuntu 18.04 上安装和配置 Redis

    Redis 是一个开源的内存数据结构存储 它可以用作数据库 缓存和消息代理 并支持各种数据结构 如字符串 哈希 列表 集合等 Redis 通过 Redis Sentinel 提供高可用性 包括监控 通知 自动故障转移 它还通过 Redis
  • 如何在 Ubuntu 18.04 上安装 IntelliJ IDEA

    智能IDEA是一个功能齐全的 IDEJVM和安卓开发 它具有内置的调试支持 Docker and Docker 组合支持 嵌入式Git控制 集成了主要的构建自动化工具 例如Maven and Gradle 语法高亮 代码完成 ssh终端 代
  • 如何在 Debian 9 上安装 Tomcat 8.5

    Apache Tomcat 是一个开源应用程序服务器 支持 Java Servlet JavaServer Pages Java 表达式语言和 Java WebSocket 技术 它是当今世界上使用最广泛的应用程序和 Web 服务器之一 本
  • Linux 中的命令

    at是一个命令行实用程序 允许您安排在特定时间执行的命令 创建的职位at仅执行一次 在这篇文章中 我们将解释如何使用at及其配套实用程序batch atq atrm查看 删除和创建稍后执行的作业 安装中at 根据分布情况 at您的 Linu