如何在IONOS中设置每分钟执行的Cron Job触发Laravel路由
在IONOS实现每分钟触发Laravel计划任务路由的方案
由于IONOS的Cron任务管理器不支持分钟级执行粒度,我们可以通过每小时执行一次Shell循环脚本的方式,实现每分钟对目标路由发起GET请求的需求,具体步骤如下:
方法一:使用Shell循环脚本(适配现有路由)
创建Shell脚本
在服务器上创建一个脚本文件(比如run_currency_update.sh),内容如下:#!/bin/bash # 循环60次,每分钟请求一次目标路由 for i in {1..60} do # 替换为你的实际域名和路由地址 curl -s "https://your-domain.com/run-currency-update" # 等待60秒后执行下一次请求 sleep 60 done设置脚本权限
将脚本上传到服务器的指定目录(比如/home/your-username/scripts/),然后赋予执行权限:chmod +x /home/your-username/scripts/run_currency_update.sh配置IONOS Cron任务
在IONOS的Cron任务管理器中,添加一个每小时执行一次的任务,执行命令填写脚本的绝对路径:/home/your-username/scripts/run_currency_update.sh
方法二:改用Laravel自带计划任务(更规范的方案)
如果可以调整现有实现,推荐使用Laravel原生计划任务,步骤如下:
定义Laravel计划任务
在app/Console/Kernel.php中添加每分钟执行的任务:protected function schedule(Schedule $schedule) { $schedule->command('CurrencyUpdate:auto')->everyMinute(); }创建循环脚本触发schedule:run
同样创建Shell脚本run_laravel_schedule.sh:#!/bin/bash for i in {1..60} do # 替换为你的Laravel项目根目录路径 php /path-to-your-laravel-project/artisan schedule:run sleep 60 done配置IONOS Cron任务
同样设置每小时执行一次该脚本,确保脚本有执行权限。
注意事项
- 替换脚本中的域名、项目路径为你的实际信息;
- 若需要排查问题,可以在curl命令后添加日志输出,比如:
curl -s "https://your-domain.com/run-currency-update" >> /home/your-username/scripts/currency_update.log 2>&1 - 确保服务器环境允许
curl和php命令正常执行。
内容的提问来源于stack exchange,提问作者RumeasiyanS
相关产品推荐
相关产品推荐

