Skip to content

Sean-Q-Shen/CrontabForWin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CronWin - Windows 任务计划管理器

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.exebash.exe 可在命令行直接调用。

1. 安装与构建部署

环境依赖安装

在项目根目录(带有 package.json 的目录),打开终端(命令行或 PowerShell),执行以下命令安装依赖:

npm install

开发环境运行 (便于修改代码)

npm 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

2. 日志查看说明

运行日志主要有两个查看途径:

  1. 控制台/终端窗口:不论是 npm run dev 还是 npm start,服务端的核心执行、调度信息、标准错误 (stderr) 都会直接打印在运行本服务的黑框(控制台终端)中。
  2. Web 界面日志监控栏:在页面右下方的「实时执行控制台 (Logs)」中展示了最近 500 条的任务执行流水,包括运行时间、执行的命令、成功或失败状态。

3. 任务配置与路径书写示例

在新建任务时,Windows 路径推荐使用正斜杠 / 书写以避免转义错误,或者使用双反斜杠 \\

示例 1: Python 脚本执行

假设您的脚本路径为 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

示例 2: Shell / Git Bash 脚本执行

假设您的脚本为 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

示例 3: Node.js 脚本或系统指令

  • 执行 Node 脚本: node ./scripts/clean.js (相对路径是相对于 CronWin 所在目录运行)
  • 系统命令: echo "Hello World" >> C:/logs/test.log

常见问题

  • “Error saving task” 报错:请检查命令行后台是否有异常崩溃,或者 Cron 表达式是否输入非法。合法的表达式有 5 个部分(偶尔支持 6 个部分含秒),例如 */5 * * * *
  • 任务状态 FAILED:请到底部控制台看报错或者去后台终端查看详细的报错流。可能是脚本中语法错误或者路径未找到。

About

CronWin (Contab for Windows)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages