> 软件包与系统管理 > at

at 命令指南:预约一次性任务

`at` 命令用于在特定时间预约一次性执行的命令。与 crontab 用于预约重复性任务不同,`at` 在预约一次性任务时非常有用。它适用于只需在特定时间执行一次的任务,例如备份或系统关机。

at 命令概述

`at` 创建在用户指定时间只执行一次的任务。任务(job)连同用户的 shell 环境一起存储在队列中,并在指定时间在后台执行。输入命令后,按 Ctrl+D 可以结束并预约任务。

使用 at 的优点

  • 无需复杂的设置即可直观地指定时间。
  • 在预约只执行一次的任务时,比 crontab 更方便。
  • 可以输入多行要执行的命令。

主要选项

学习使用 `at` 命令预约和管理任务的各种方法。

1. 基本用法和任务预约

2. 任务管理

生成的命令:

请尝试组合命令。

描述:

`at` 执行命令。

通过组合这些选项,您可以与 AI 一起虚拟地执行命令。

常用示例

通过 `at` 的实际应用场景来掌握命令用法。

在特定时间关闭系统

at 10:30 PM
> sudo shutdown -h now
> (Ctrl+D)

预约在晚上 10:30 关闭系统。

1 小时后输出通知消息

at now + 1 hour
> echo "点心时间到了!"
> (Ctrl+D)

从当前时间起 1 小时后,在终端输出“午餐时间到了!”的消息。

明天早上 8 点执行脚本

at 8:00 AM tomorrow
> /home/user/scripts/backup.sh
> (Ctrl+D)

明天上午 8 点执行 `backup.sh` 脚本。(脚本路径指定为绝对路径更安全。)

查看预约的任务列表

at -l

查看当前用户账户下所有预约的 `at` 任务。

删除特定的预约任务

at -r 1

使用 `at -l` 命令确认的任务编号(例如:`1`)来删除该任务。

安装 at (如果需要)

`at` 在大多数 Linux 发行版中默认安装。但是,如果未安装,则需要通过以下命令安装 `atd` (at 守护进程) 包。

Debian/Ubuntu

sudo apt update
sudo apt install at

在 Ubuntu 或 Debian 系统上安装 atd 的方法。

CentOS/RHEL/Fedora

sudo yum install at
sudo systemctl enable atd
sudo systemctl start atd

在 CentOS, RHEL 或 Fedora 系统上安装 atd 的方法。


相关命令

功能上相似或经常一起使用的命令。


相同类别命令