使用 crontab 在特定时间段内循环执行任务
本篇问答将指导您如何利用 crontab 定义任务,使其在特定的时间段内循环执行。
问题:
如何设置 crontab,让一个任务从晚上 21:30 起,每隔 8 分钟运行一次,直至 22:30 结束?
答案:
- 将要执行的任务写入单独的 .sh 文件,例如 schedule.sh。
- 在 schedule.sh 文件中使用 sleep 命令进行 8 分钟的等待,例如:
while true do # 执行你的任务 sleep 480 # 等待 8 分钟 done
- 使用 crontab 为 schedule.sh 设置定时任务,每天从 21:30 开始运行,如下所示:
crontab -e
在编辑器中,添加以下行:
30 21 * * * /path/to/schedule.sh
其中,表示:
- 分钟:30
- 小时:21
- 月份:*(表示所有月份)
- 日:*(表示所有日期)
- 星期:*(表示所有星期)
- 命令:/path/to/schedule.sh(脚本的完整路径)
- 保存并退出编辑器。crontab 将在每天晚上 21:30 启动 schedule.sh 脚本,执行任务并每隔 8 分钟重复执行,直到 22:30 结束。