当前位置:首页 > RockyLinux > 正文

掌握RockyLinux at命令(轻松实现一次性任务调度的完整教程)

在系统管理中,我们常常需要在特定时间执行某个命令或脚本一次,而不是重复执行。这时候,RockyLinux at命令就派上用场了!本文将手把手教你如何使用 at 命令来安排一次性任务,即使你是 Linux 新手也能轻松上手。

什么是 at 命令?

at 是 Linux 系统中用于在指定时间点执行一次性任务的命令行工具。与 cron(用于周期性任务)不同,at 只运行一次,非常适合临时性的调度需求,比如:凌晨 2 点重启服务、下午 5 点备份文件等。

掌握RockyLinux at命令(轻松实现一次性任务调度的完整教程) RockyLinux at命令 一次性任务调度 RockyLinux定时任务 Linux at命令教程 第1张

第一步:确认 at 服务已安装并启用

在 RockyLinux 中,默认可能未安装 at 工具。我们先检查并安装它:

# 检查是否已安装 at$ rpm -q at# 如果未安装,使用 dnf 安装$ sudo dnf install at -y# 启动并设置开机自启 atd 服务(注意:服务名为 atd)$ sudo systemctl start atd$ sudo systemctl enable atd# 验证服务状态$ sudo systemctl status atd  

确保看到 active (running) 表示服务正常运行。

第二步:使用 at 命令安排一次性任务

基本语法如下:

at [时间]  

执行后会进入交互式输入模式,你可以输入要执行的命令,按 Ctrl+D 保存并退出。

示例 1:5 分钟后发送一条提醒

$ at now + 5 minutesat> echo "Hello! This is a test message from at command." | wallat> # 按 Ctrl+D 提交任务^Djob 2 at Thu Jun 13 15:25:00 2024  

上面的命令会在 5 分钟后向所有登录用户广播一条消息。

示例 2:明天上午 9 点执行备份脚本

$ at 9:00 AM tomorrowat> /backup/scripts/daily_backup.shat> # 按 Ctrl+D^Djob 3 at Fri Jun 14 09:00:00 2024  

第三步:查看和管理已安排的任务

你可以使用以下命令管理你的 一次性任务调度

  • atqat -l:列出当前用户的所有待执行任务
  • atrm [任务编号]at -d [任务编号]:删除指定任务
# 查看任务列表$ atq2	Thu Jun 13 15:25:00 2024 a alice3	Fri Jun 14 09:00:00 2024 a alice# 删除任务编号为 2 的任务$ atrm 2  

常见时间格式参考

写法 含义
now + 10 minutes 当前时间加 10 分钟
15:30 今天 15:30
teatime tomorrow 明天下午 4 点(teatime = 16:00)
noon + 2 days 两天后的中午 12 点

注意事项

  • 确保 atd 服务正在运行,否则任务不会执行。
  • 任务执行时的环境变量可能与你当前 shell 不同,建议在脚本中使用绝对路径。
  • 普通用户默认可以使用 at,但可通过 /etc/at.allow/etc/at.deny 控制访问权限。

总结

通过本教程,你已经掌握了如何在 RockyLinux 中使用 at 命令来安排一次性任务。无论是临时维护、定时通知还是延迟执行脚本,at 都是一个简单而强大的工具。希望这篇 Linux at命令教程 能帮助你更高效地管理系统任务!

如果你觉得有用,不妨动手试试,并分享给其他 RockyLinux 用户吧!