定时任务配置指南
定时任务是自动化运维的重要组成部分,可以帮助你定期执行数据同步、缓存更新、报表生成等重复性工作。
本指南将介绍如何在 Vercel 和 Dokploy 两个主流部署平台上配置定时任务,让你的网站实现自动化管理。
准备工作
在开始配置定时任务之前,请确保完成以下准备步骤:
- 生成
CRON_SECRET
CRON_SECRET 是一个安全密钥,用于验证定时任务请求的合法性,防止未授权访问。
生成方法(任选其一):
方法 A:使用在线工具
- 访问 https://generate-secret.vercel.app/32
- 复制生成的随机字符串
方法 B:使用命令行(Mac/Linux)
openssl rand -base64 32生成后,请将该字符串添加到项目的环境变量 CRON_SECRET。
- 完成定时任务接口编写
定时任务的工作原理是:系统定期向你的应用发送 HTTP 请求,触发预先编写好的接口,接口内部包含具体的任务处理逻辑。因此,在配置定时任务之前,你需要:
- 在项目中创建定时任务接口(如:
/api/cron/task1) - 在接口中实现具体的业务逻辑
- 添加
CRON_SECRET验证,确保只有合法请求才能触发任务
Vercel 平台配置
提示
Vercel 免费账号仅支持创建一个定时任务。
Vercel 使用 Vercel Cron Jobs 功能来运行定时任务。配置步骤如下:
在项目根目录创建或编辑 vercel.json 文件:
vercel.json
{
"crons": [
{
"path": "/api/cron/task1",
"schedule": "0 0 * * *"
},
{
"path": "/api/cron/task2",
"schedule": "0 2 * * 1"
}
]
}Cron 表达式说明:
0 0 * * *- 每天凌晨 0:00(UTC 时间)0 2 * * 1- 每周一凌晨 2:00(UTC 时间)
时区说明:Vercel Cron 使用 UTC 时间。
部署完成后,你可以在 Vercel 项目的 Settings > Cron Jobs 中可以看到已配置的定时任务。
Dokploy 平台配置
Dokploy 提供了更灵活的定时任务配置方式,支持直接在管理面板中创建和管理。
配置步骤:
- 进入需要创建定时任务的服务管理面板
- 找到 Schedules 选项卡
- 点击创建新的定时任务


表单内容填写如下:
- Task Name: 自定义任务名称
- Schedule: Cron 表达式,如:
0 0 * * *(每天凌晨0点执行) - Shell Type: 选择 Sh
- Command:
wget --header="Authorization: Bearer <上一步生成的 CRON_SECRET>" --post-data="" -O- https://<你的域名>/api/<定时任务接口路径>
部署代码后,如果想测试定时任务,可以点击面板上的执行按钮,这样会立即执行一次。

Cron 表达式参考
┌───────────── 分钟 (0 - 59)
│ ┌───────────── 小时 (0 - 23)
│ │ ┌───────────── 日期 (1 - 31)
│ │ │ ┌───────────── 月份 (1 - 12)
│ │ │ │ ┌───────────── 星期 (0 - 6) (周日=0)
│ │ │ │ │
* * * * *示例:
0 2 * * *- 每天 2:000 2 * * 1- 每周一 2:000 */6 * * *- 每 6 小时0 0 1 * *- 每月 1 号 0:00