CronWin 是一个基于 Web 的任务调度管理工具,带有美观的「高密度」UI 界面,支持定时执行各种脚本(Python, Shell, Node 等),像 Linux 下的 crontab 一样方便,同时提供执行日志以及状态监控。
- 操作系统:Windows (如 Windows 11), Linux, macOS
- 必须安装:Node.js (推荐 v18 或更高版本)
- 可选环境:
- 如果要运行 Python 任务:需在系统安装 Python 并将其加入环境变量 (PATH)。
- 如果要运行 Shell 脚本:在此推荐安装 Git for Windows (Git Bash),并确保
sh.exe或bash.exe可在命令行直接调用。
在项目根目录(带有 package.json 的目录),打开终端(命令行或 PowerShell),执行以下命令安装依赖:
npm installnpm run dev启动后,控制台会输出启动端口(通常为 http://localhost:3000)。此时前端与后端在同一进程运行。修改相关前端代码保存后会自动热更新。
在将服务部署到服务器或后台静默运行时,建议先编译打包。
编译(Build):
npm run build执行完毕后,所有前端文件将被打包到 dist 目录,后端代码被打包成 dist/server.cjs。
启动正式服务(Start):
npm start或者也可以直接运行 node dist/server.cjs。
注意:此时也可以使用 pm2 等进程守护工具后台运行此服务,例如 pm2 start dist/server.cjs --name cronwin。
运行日志主要有两个查看途径:
- 控制台/终端窗口:不论是
npm run dev还是npm start,服务端的核心执行、调度信息、标准错误 (stderr) 都会直接打印在运行本服务的黑框(控制台终端)中。 - Web 界面日志监控栏:在页面右下方的「实时执行控制台 (Logs)」中展示了最近 500 条的任务执行流水,包括运行时间、执行的命令、成功或失败状态。
在新建任务时,Windows 路径推荐使用正斜杠 / 书写以避免转义错误,或者使用双反斜杠 \\。
假设您的脚本路径为 D:\scripts\data_sync.py:
- 任务名称:
Python_Data_Sync - Cron表达式:
0 */2 * * *(每两小时整点执行) - 执行脚本 / 命令:
或者带上参数:
python D:/scripts/data_sync.py
python D:/scripts/data_sync.py --env prod
假设您的脚本为 C:\Users\Admin\Documents\backup.sh:
- 任务名称:
Daily_Backup_Shell - Cron表达式:
0 2 * * *(每天凌晨 2 点执行) - 执行脚本 / 命令:
注意:需确保系统中全局可以调用
sh C:/Users/Admin/Documents/backup.sh
sh命令(将 Git 的 bin 目录加入了环境变量)。如果没有加环境变量,可以写绝对路径,例如:"C:/Program Files/Git/bin/sh.exe" C:/Users/Admin/Documents/backup.sh
- 执行 Node 脚本:
node ./scripts/clean.js(相对路径是相对于 CronWin 所在目录运行) - 系统命令:
echo "Hello World" >> C:/logs/test.log
- “Error saving task” 报错:请检查命令行后台是否有异常崩溃,或者 Cron 表达式是否输入非法。合法的表达式有 5 个部分(偶尔支持 6 个部分含秒),例如
*/5 * * * *。 - 任务状态
FAILED:请到底部控制台看报错或者去后台终端查看详细的报错流。可能是脚本中语法错误或者路径未找到。