在 Linux 系统中,尤其是 CentOS 环境下,我们常常需要在未来的某个时间点自动执行一个任务。如果你只需要执行一次任务,而不是重复执行(如 cron 那样),那么 at 命令 就是你的理想选择。
本文将手把手教你如何在 CentOS 中使用 at 命令来设置一次性定时任务,即使你是 Linux 新手,也能轻松上手!
at 是 Linux 系统中用于安排一次性任务的命令。与 cron 不同,at 只会在指定的时间运行一次,非常适合临时性、单次执行的任务,比如:凌晨2点重启服务、1小时后发送一封邮件等。
在 CentOS 中,at 默认可能未安装。你可以通过以下命令检查并安装:
# 检查是否已安装 atrpm -q at# 如果未安装,使用 yum 安装sudo yum install -y at# 启动 atd 服务(at 的守护进程)sudo systemctl start atd# 设置开机自启sudo systemctl enable atd
注意:at 命令依赖 atd 服务,必须确保该服务正在运行,否则任务不会被执行。
最简单的用法是直接在命令行输入 at 加上你希望执行的时间:
at 14:30 执行上述命令后,你会进入一个交互式界面(提示符变为 at>),此时可以输入你要执行的命令,按 Ctrl+D 保存并退出。
at now + 10 minutes# 进入 at> 提示符后输入:at> touch /home/user/test_at.txtat> echo "Task executed by at command" >> /home/user/test_at.txtat> # 按 Ctrl+D 保存
at 09:00 tomorrowat> /backup/backup_script.shat> # 按 Ctrl+D
at 命令支持多种灵活的时间写法:
HH:MM:例如 14:30now + N minutes/hours/days:例如 now + 5 minutesnoon、midnight、teatime(下午4点)YYYY-MM-DD HH:MM:例如 2024-08-15 10:00tomorrow、next week、Friday 等自然语言你可以查看、删除已安排的 at 任务:
atq 输出示例:2 Thu Aug 15 14:30:00 2024 a user
其中第一个数字是任务编号(job ID)。
atrm 2 上面命令会删除任务编号为 2 的任务。
atd 服务正在运行(systemctl status atd)。at 受 /etc/at.allow 和 /etc/at.deny 控制。若两个文件都不存在,则所有用户均可使用。通过本教程,你应该已经掌握了在 CentOS 系统中使用 at 命令 来安排一次性定时任务的方法。无论是临时测试还是生产环境中的单次运维操作,at 都是一个简单而强大的工具。
记住关键词:Centos at命令、定时任务、Linux定时执行、at命令教程——这些是你掌握 Linux 自动化任务的重要基础!
赶快在你的 CentOS 服务器上试试吧!
本文由主机测评网于2025-12-05发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025123308.html