at 是 Linux 系统中一个功能强大的定时任务调度程序,它用于在指定时间执行一次性任务,这与 cron 周期性执行的方式不同。
相较于 cron,at 更适用于以下情况:
大多数 Linux 发行版默认已包含 at,可通过以下命令确认:
which at
若未安装,可使用包管理器进行安装:
# Debian/Ubuntu
sudo apt-get install at
# CentOS/RHEL
sudo yum install at
安装完成后需要启动 atd 守护进程:
at [选项] 时间
选项 | 描述 |
---|---|
`-f 文件` | 从指定文件读取命令而不是标准输入 |
`-m` | 任务结束后发送邮件通知用户 |
`-l` | 列出待处理的任务(等同于 `atq`) |
`-d 任务ID` | 删除指定任务(等同于 `atrm`) |
`-v` | 显示任务将被执行的具体时间 |
at 支持多种时间写法:
绝对时间
相对时间
特殊关键词
$ at 15:30
warning: commands will be executed using /bin/sh
at> echo "Hello at command" > ~/at_test.txt
at> # 按 Ctrl+D 结束输入
job 1 at Tue Jul 18 15:30:00 2023
创建脚本文件 myscript.sh:
#!/bin/bash
echo "This is a test" >> /tmp/at_log
date >> /tmp/at_log
然后运行:
at -f myscript.sh now + 5 minutes
$ atq # 或 at -l
1 Tue Jul 18 15:30:00 2023 a username
$ at 16:00
at> export MY_VAR="test"
at> echo $MY_VAR > ~/env_test.txt
at>
$ at 17:00 today
at> cd /var/log && grep "error" syslog > ~/error_log.txt
at>
权限管理
输出控制
环境差异
错误排查
at 命令是 Linux 系统中管理一次性定时任务的重要工具。通过本文的学习,你应该已经掌握了:
对于周期性的任务建议使用 cron,而对于只需要执行一次的任务,at 是最佳选择。
以上就是linux定时执行一次性任务是什么-at 命令使用与实例的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号