使用 at 和 Cron 调度任务

Red Hat Enterprise LinuxBeginner
立即练习

介绍

作为一名系统管理员,实现任务自动化是一项核心职责。atcron 工具是 Linux 上调度任务的基础工具。在本挑战中,你将练习使用 at 调度一次性作业,并使用 cron 调度周期性作业。

使用 at 调度一次性任务

at 命令用于调度在未来某个特定时间执行一次的命令。

任务

  • 使用 at 命令调度一个在一分钟后运行的任务。
  • 验证该任务是否创建了包含指定内容的文件。

要求

  • 调度一个从现在起一分钟后运行的任务。
  • 该任务必须执行命令 echo "This is a scheduled task" > /home/labex/project/scheduled_task.txt
  • 任务执行后,文件 /home/labex/project/scheduled_task.txt 必须存在,并且包含文本 This is a scheduled task

示例

任务执行后,/home/labex/project/scheduled_task.txt 的内容应为:

This is a scheduled task

提示

  • 使用时间规格 now + 1 minute 来调度任务。
  • 输入 at 命令后,你将进入一个新的提示符界面。输入你的命令并按回车键。
  • 要保存作业并退出 at 提示符,请按 Ctrl+D

使用 cron 调度周期性任务

cron 守护进程用于按定期的时间间隔执行预定命令。你可以使用 crontab 命令管理你的调度任务。

任务

  • 创建一个每分钟运行一次命令的 cron 作业。
  • 验证 cron 作业是否创建并更新了日志文件。

要求

  • 使用 crontab -e 命令编辑当前用户的 crontab。
  • 添加一个 cron 作业,执行命令 echo "This is a recurring task" >> /home/labex/project/recurring_task.log
  • 该作业必须配置为每天、每小时的每一分钟运行。
  • 文件 /home/labex/project/recurring_task.log 应该被创建,并且每分钟都会追加新的文本。

示例

在 cron 作业运行几分钟后,/home/labex/project/recurring_task.log 的内容应类似于:

This is a recurring task
This is a recurring task
This is a recurring task

提示

  • crontab -e 命令会在文本编辑器(通常是 vi)中打开你的 crontab 文件。
  • 每分钟运行一次的 cron 作业格式为 * * * * * command_to_run
  • 如果编辑器是 vi,按 i 进入插入模式,输入你的内容,按 Esc 退出插入模式,然后输入 :wq 并按回车键保存并退出。

总结

在本挑战中,你学习了如何在 Linux 系统上实现任务自动化。你练习了使用 at 命令调度未来执行的一次性作业,并通过编辑 crontab 使用 cron 设置了周期性任务。这些是任何系统管理员管理日常维护和其他自动化流程的必备技能。

✨ 查看解决方案并练习✨ 查看解决方案并练习