可靠的维护任务不仅要明确命令做什么,还要明确它何时、在怎样的环境中运行。本动手课程讲解使用 cron 安排周期任务,以及使用 at 安排一次性任务,同时强调验证执行结果和捕获错误,让无人值守的任务依然可观察。
你将读取 cron 的五个时间字段,安装真实的用户 crontab,查看系统级计划任务目录,诊断一个刻意失败的任务,并管理 at 队列。最终挑战会把这些技能组合成一个小型维护方案:每天运行可执行脚本、追加记录错误,并提交一次性队列任务。
你将学到什么
- 解读 cron 的分钟、小时、日期、月份和星期字段
- 在用户 crontab 中列出、编辑、安装并验证周期任务
- 查看
/etc/crontab、/etc/cron.daily、/etc/cron.hourly和run-parts - 使用绝对路径,并通过
2>或2>>重定向计划任务错误 - 安装并启动
atd,再使用at提交一次性任务 - 使用
atq按任务 ID 查看待执行任务,并用atrm取消任务 - 创建可执行维护脚本,并将其安排在每天的精确时间运行
本课程适合谁
本中级课程适合需要自动执行周期维护或把工作排到稍后运行的 Linux 用户、系统管理员、DevOps 学习者和开发者。对于负责备份、清理、报告或其他必须脱离交互式终端运行命令的人尤其有用。
前置要求: 具备 Linux 终端基础,包括编辑文件、使用 sudo 运行命令、更改执行权限和使用输出重定向。
学习环境: 提供 cron 的 LabEx Debian/Ubuntu 风格 Linux 终端;课程中会安装 at 软件包并启动其 atd 服务。
常见问题
cron 和 at 在实际使用中有什么区别?
cron 用于每分钟运行或每天 02:30 运行等重复计划;at 用于把命令排入队列,在未来只执行一次。课程会通过已安装的 crontab 和 at 任务队列分别验证这两种模式。
课程会编辑系统级 cron 配置吗?
你会查看 /etc/crontab 以及小时和每日任务目录来理解 run-parts,但亲手创建的周期任务安装在 labex 用户的 crontab 中,因此不会混入现有系统维护条目。
为什么 cron 任务要使用绝对路径并明确重定向日志?
cron 在没有交互式终端、通常只有最小环境变量的情况下运行。绝对路径可以消除目录歧义,2> 和 2>> 则能把失败信息写入文件;最终挑战会把每日维护任务的错误追加到 error.log。





