如何在 Linux 上使用 at 安排一次性作业如何在 Linux 上使用 at 安排一次性作业如何在 Linux 上使用 at 安排一次性作业如何在 Linux 上使用 at 安排一次性作业
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

如何在 Linux 上使用 at 安排一次性作业

发表 admin at 2025年2月28日
类别
  • 未分类
标签

cron 命令是在 Linux 上安排重复任务的绝佳方法。但是,如果您只想运行特定命令或脚本一次怎么办?

时间管理是一门很难掌握的艺术。幸运的是,借助技术,您可以将日常任务自动化并委托给计算机。与人类不同,电脑非常擅长在精确的设定时间运行重复性任务。

在 Linux 上,您可以使用 cron 等工具运行重复任务。此外,您还可以使用 at 命令安排和运行一次性任务。

在 Linux 上安装

at 命令不是大多数发行版上标准 Linux 实用程序的一部分。幸运的是,无论您使用什么发行版,您都可以使用包管理器轻松安装它。

在基于 Debian 的系统(例如 Ubuntu、MX Linux 和 Pop!_OS)上,您可以通过运行以下命令进行安装:

sudo apt install at

如果您使用基于 RPM 的发行版(例如 RHEL、Fedora 或 Rocky Linux),请使用 DNF 安装软件包:

sudo dnf install at

在基于 Arch 的 Linux 发行版(例如 Manjaro)上,运行:

sudo pacman -S at

启动 atd 作业调度程序服务

使用 at 命令之前,请确保 atd 调度守护进程正在运行。这就是 at 命令用来执行计划作业的内容。

sudo systemctl status atd

如果 atd 服务未运行,您可以使用以下命令启动它:

sudo systemctl start atd

在 Linux 上使用 at 调度任务

以下是如何使用 at 安排在将来某个给定时间执行的一次性作业:

command | at time_stamp

例如,我们可以安排一个任务,使用 ls 命令列出当前目录的内容,并在一分钟后将输出写入文件。

首先,使用 cd 命令更改到您的用户主文件夹:

cd ~

然后,执行以下命令来安排您的任务:

ls > list_items.txt | at now + 1 minutes

输出将表明您的任务已安排。经过一段时间后,您可以列出目录的内容,并且应该会出现一个包含目录内容的新文本文件。

如果你想在明天中午执行该命令,请运行:

ls > list_items.txt | at noon tomorrow

对于更具体的时间和日期,请使用日期格式 MMDDHHMM YYYY。例如,在下午 1 点执行上述命令。 2023 年 12 月 25 日,您可以运行以下命令:

ls > list_items.txt | at 12251300 2023

at 命令具有许多更高级的功能,允许您在精确的时间运行特定命令。查看其手册页以获取更多命令选项:

man at

在 Linux 上使用 at 调度脚本

除了运行单个命令之外,您还可以使用 at 命令安排脚本在指定时间执行。

假设您的主文件夹中有一个名为 disk_usage.sh 的脚本。该脚本只是将硬盘使用情况打印到文本文件中。这是脚本:

#!/bin/bash
df -h > disk_usage.txt

要从现在起三十分钟后执行此脚本,您只需运行以下命令:

at now + 30 minutes -f ~/disk_usage.sh

通过为脚本指定适当的模式,确保脚本可执行。为此,您可以使用 chmod 命令:

sudo chmod +x disk_usage.sh

在 Linux 上管理待处理任务

您可以使用以下命令查看待处理的任务:

atq

要删除待处理任务,请使用以下命令格式:

atrm task_number

例如,要删除 12 号任务,请使用:

atrm 12

使用 at 自动执行 Linux 上的重复任务

at 命令是一种功能强大且多功能的工具,用于在 Linux PC 上执行或运行一次性作业。除了 at 之外,您还可以使用 crontab 来自动执行各种任务,从简单到复杂的作业。

©2015-2025 Norria support@alaica.com