计划任务与例行维护

学习计划任务与例行维护。本模块涵盖理解 Cron 语法、用户 Crontabs、系统级 Cron 位置、捕获 Cron 输出、使用 at 进行一次性调度。您将通过实践操作实验和真实世界挑战掌握这些基本的 Linux 技能。

DevOps 工程师LinuxDevOps

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

可靠的维护任务不仅要明确命令做什么,还要明确它何时、在怎样的环境中运行。本动手课程讲解使用 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。

教师

labby
Labby
Labby is the LabEx teacher.