简体中文
Appearance
简体中文
Appearance
Task Scheduler(任务计划程序)用于在 WSL 中自动化定期任务,避免重复性的手工维护操作。它提供了一个可视化的管理界面,让您无需记忆复杂的命令行参数即可创建和管理定时任务。
本功能示例场景:
所有任务统一归集到Windows任务计划程序的 \WSLDashboard\UserTasks\ 路径下,方便集中查看和管理。您可以在界面中实时查看任务状态(就绪 / 运行中 / 已禁用)。
您可以从下面的社区仓库下载示例脚本(备份发行版),快速上手:
https://github.com/owu/wsl-community
这是一个用户共建的代码仓库,欢迎您提交 Pull Request 来贡献脚本或分享最佳实践。
每个定时任务可以配置要执行的命令(脚本或可执行程序),支持以下选项:
| 配置项 | 说明 |
|---|---|
| 执行命令 | 要运行的脚本或可执行程序路径,支持 .bat, .ps1, .cmd, .exe, .py 等格式。可通过"浏览"按钮选择文件。 |
| 命令参数 | 传递给命令的额外参数,可选。 |
| 管理员权限 | 勾选后,任务将以最高权限运行,适用于需要 UAC 提权的操作。 |
创建任务后,您可以对任务执行以下操作:
| 操作 | 说明 |
|---|---|
| 立即运行 | 强制触发任务立即执行,不受调度规则限制。 |
| 启用/禁用 | 暂停或恢复任务的自动调度。 |
| 删除 | 从任务计划程序中移除任务。 |
任务调度采用标准的 5 字段 Cron 表达式来定义执行规则,格式如下:
分钟 小时 日 月 星期| 字段 | 取值范围 | 说明 |
|---|---|---|
| 分钟 | 0 - 59 | 每小时的第几分钟执行 |
| 小时 | 0 - 23 | 每天的第几小时执行 |
| 日 | 1 - 31 | 每月的第几天执行 |
| 月 | 1 - 12 | 每年的第几个月执行 |
| 星期 | 0 - 7 | 0 和 7 都表示星期日 |
每个字段支持以下语法:
* —— 匹配所有值(例如 * * * * * 表示每分钟执行一次)*/N —— 每隔 N 个单位执行一次(例如 */5 * * * * 表示每 5 分钟执行一次)0 9 * * 1 表示每周一上午 9:00 执行)注意:不支持逗号分隔的多个值(如
1,15)和范围表达式(如1-5),更多限制请参见下方的注意事项。
本软件未运行原生的 Cron 守护进程,而是将 Cron 表达式翻译为 Windows 计划任务(schtasks.exe) 的触发器参数。为了准确映射,解析器中仅硬编码支持以下 7 种组合模式,覆盖绝大多数定时任务场景:
| # | 模式 | 说明 | 适用场景 |
|---|---|---|---|
| 1 | * * * * * | 每分钟执行 | 监控类、实时检测类任务 |
| 2 | */N * * * * | 每 N 分钟执行一次 | 周期性检查任务 |
| 3 | M * * * * | 每小时的第 M 分钟执行(如 3 * * * *) | 整点任务 |
| 4 | M H * * * | 每天的 H 点 M 分执行(如 0 3 * * *) | 日常维护,如每天凌晨清理日志 |
| 5 | M H * * DOW | 每周特定星期几的 H 点 M 分执行(如 0 12 * * 1) | 每周例行任务,如每周一备份数据 |
| 6 | M H D * * | 每月特定日期的 H 点 M 分执行 | 月度任务,如每月 1 号生成报表 |
| 7 | M H D MON * | 每年特定月份和日期的 H 点 M 分执行 | 年度任务,如指定某月执行 |
如果表达式不属于以上 7 种模式,系统将视为
Unsupported cron pattern并拒绝创建。
由于底层基于 Windows 计划任务实现,本软件的 Cron 解析器与标准 Linux Cron 存在以下差异:
,)和范围(-) 标准 Cron 允许通过逗号定义多个离散的时间点(如 1,15,30 * * * * 表示第 1、15、30 分钟),或通过连字符定义范围(如 1-5 * * * * 表示第 1 到 5 分钟)。
本软件的限制: 每个字段只能填写单个数字、星号(*) 或步长(*/N),不支持逗号和连字符。
标准 Cron 允许任意字段的自由组合(如 * 3 * * * 表示每天凌晨 3 点这个小时内的每一分钟),但本软件仅支持上方列出的 7 种固定模式,不在此范围内的表达式将被拒绝。
在标准 Cron 中,*/5 * * * * 严格对齐到时钟的 0、5、10、15... 分钟。本软件将其翻译为 Windows 的 /SC MINUTE /MO 5 参数,Windows 的处理逻辑是从任务创建或启用那一刻起计算间隔。
例如,如果您在 10:02 保存并启用了每 5 分钟运行一次的任务,它将在 10:07 首次执行,接着是 10:12,而非对齐到标准时钟的 10:05。