无需前端与调度器,每10分钟调用指定GET API的方案咨询
无需前端/调度器的API定时调用方案
以下是几种无需打开应用就能实现每10分钟调用目标API的可行方案,均基于系统原生工具:
1. 后台循环脚本
Linux/macOS
用curl配合shell脚本在后台持续运行:
- 新建一个名为
keep_alive.sh的脚本文件,内容如下:
#!/bin/bash while true; do # 静默调用API,不输出日志 curl -s https://xvyz.com/keep-alive # 暂停10分钟(600秒) sleep 600 done
- 给脚本添加执行权限:
chmod +x keep_alive.sh
- 后台启动脚本,关闭终端后仍能继续运行:
nohup ./keep_alive.sh > /dev/null 2>&1 &
- 说明:
nohup让进程脱离终端控制,> /dev/null 2>&1将所有输出丢弃避免占用日志空间,&让进程在后台执行。
Windows
用PowerShell脚本实现后台静默运行:
- 新建
keep_alive.ps1脚本,内容如下:
while ($true) { Invoke-RestMethod -Uri https://xvyz.com/keep-alive Start-Sleep -Seconds 600 }
- 打开命令提示符(CMD),执行以下命令启动后台任务:
powershell -WindowStyle Hidden -Command "& 'C:\你的脚本路径\keep_alive.ps1'"
- 说明:
-WindowStyle Hidden会隐藏PowerShell窗口,脚本将在后台持续循环调用API。
2. 系统原生定时任务(非第三方调度器)
虽然你提到无法使用调度器,但系统自带的定时任务属于系统原生功能,不属于第三方工具,完全符合需求:
Linux/macOS(Cron)
- 打开Crontab编辑界面:
crontab -e
- 添加以下定时规则,保存退出即可:
*/10 * * * * curl -s https://xvyz.com/keep-alive > /dev/null 2>&1
- 说明:
*/10 * * * *表示每10分钟执行一次,curl静默调用API并丢弃输出。
Windows(任务计划程序)
- 打开「任务计划程序」,点击「创建基本任务」:
- 触发器设置:选择「每天」,然后设置重复任务间隔为10分钟,持续时间选「无限期」
- 操作设置:选择「启动程序」,程序/脚本填
powershell.exe,添加参数:-Command "Invoke-RestMethod -Uri https://xvyz.com/keep-alive" - 额外设置:勾选「不管用户是否登录都要运行」,并在「设置」里勾选「隐藏」
补充说明
- 如果API需要身份认证,可在命令中添加对应参数:比如
curl用-u 用户名:密码或-H "Authorization: Bearer 令牌";PowerShell用-Headers @{"Authorization"="Bearer 令牌"} - 后台脚本需注意系统进程回收机制,Linux/macOS可搭配
screen工具防止进程被意外终止;Windows可考虑用nssm将脚本注册为系统服务(轻量工具,若允许使用)
内容的提问来源于stack exchange,提问作者mb-
相关产品推荐
相关产品推荐

