WSL Dashboard计划任务:让Linux实例每天定时自动启停,配置全图解
【免费下载链接】wsl-dashboardA GUI manager for WSL featuring a modern UI — a lightweight, low‑memory, high‑performance dashboard to manage WSL instances. Install, list, start, stop, unregister, and configure your WSL distros from one place.项目地址: https://gitcode.com/gh_mirrors/ws/wsl-dashboard
WSL Dashboard 是一款轻量级 WSL 图形化管理器,它的「计划任务」功能可以让 WSL 实例每天定时自动启动与关闭:无需打开终端、无需手写 schtasks 命令,用图形界面填好一条 Cron 表达式即可。本图解带你从零完成「每日定时启动 + 每日定时关闭」的完整配置。
为什么需要 WSL 定时任务?
如果你用 WSL 跑数据库、爬虫、开发环境,大概率每天要重复这两个动作:
- 🌅 早上:手动启动 Linux 实例,等它进入工作状态
- 🌙 晚上:手动关闭实例,释放内存
手动操作不仅麻烦,还容易忘。WSL Dashboard 的计划任务把启停交给Windows 任务计划程序:到点自动执行,就算你没打开 WSL Dashboard 主界面也会照常运行。
计划任务页面在哪里?
打开 WSL Dashboard,点击左侧边栏的Task scheduler(任务计划)图标即可进入。该页面列出所有由本工具创建的计划任务,每条任务显示:
| 展示项 | 说明 |
|---|---|
| 状态指示灯 | 绿色 = 已启用,蓝色 = 正在运行,灰色 = 已禁用 |
| 任务名称 | 创建时填写的名称 |
| Cron 表达式 | 调度规则,如0 9 * * * |
| 执行命令 | 实际运行的脚本或程序 |
一键添加定时启停任务:5 步配置
点击页面右下角的添加任务按钮,按下面 5 步填写即可:
第 1 步:填写任务名称只能包含字母、数字、-、_、.,最长 60 个字符,例如Ubuntu-Daily-Start。
第 2 步:填写执行命令点击「浏览」可快速选择文件,支持exe、ps1、bat、cmd、py等可执行程序。推荐写两个简单脚本:
- 启动脚本
wsl-start.bat:wsl.exe -d Ubuntu-22.04 -- echo started(启动指定实例) - 关闭脚本
wsl-stop.bat:wsl.exe --shutdown(关闭全部实例)
第 3 步:填写命令参数(可选)如果你的脚本需要参数,在此处填写。
第 4 步:填写调度规则(Cron 表达式)标准 5 段格式:分 时 日 月 周。每日 09:00 启动填0 9 * * *,每日 21:30 关闭填30 21 * * *。
第 5 步:保存如需以管理员权限运行,勾选「以管理员权限运行」;保存时系统可能弹出一次 UAC 确认。
Cron 表达式速查表
| 表达式 | 含义 |
|---|---|
0 9 * * * | 每天 09:00 |
30 21 * * * | 每天 21:30 |
0 9 * * 1 | 每周一 09:00 |
0 0 1 * * | 每月 1 日 00:00 |
30 * * * * | 每小时第 30 分钟 |
*/5 * * * * | 每 5 分钟 |
⚠️ 注意:WSL Dashboard 目前支持*、单个数值和*/N步长,暂不支持逗号分隔多值和范围(如1-5),填写不符合规则时表单会给出明确的中文错误提示。
管理已有任务:编辑、启停与立即运行
每个任务卡片右侧有 4 个操作按钮:
- 📝编辑:修改命令、参数或调度规则
- ⏯启用 / 禁用:临时暂停或恢复任务,无需删除
- ▶️立即运行:不用等到明天,当场验证脚本是否正确
- 🗑️删除:移除任务并清理相关临时文件
💡 建议工作流:创建任务后先点「立即运行」验证一遍,确认实例能正常启动/关闭,再安心等待定时触发。
原理解析:它是怎么做到定时的?
WSL Dashboard 底层调用 Windows 自带的schtasks命令,把所有任务统一创建在\WSLDashboard\UserTasks路径下:
- Cron 自动转换:把 Cron 表达式映射为 schtasks 支持的 MINUTE / HOURLY / DAILY / WEEKLY / MONTHLY 周期
- 静默执行:对
.ps1、.py、.bat、.cmd脚本自动生成 VBS 启动器,定时触发时不会弹出黑色命令窗口 - 规则可回溯:Cron 表达式会写入任务的描述字段,编辑时能原样读回
- 与系统互通:打开 Windows「任务计划程序」也能看到、管理这些任务,不会被工具锁死
核心源码导读
| 模块 | 路径 |
|---|---|
| 计划任务核心逻辑(创建/查询/删除) | src/app/scheduler_task/schtasks.rs |
| 任务数据模型 | src/app/scheduler_task/models.rs |
| 页面交互处理 | src/ui/handlers/scheduler.rs |
| 计划任务页面 | src/ui/views/scheduler_view.slint |
| 任务卡片组件 | src/ui/components/scheduler_card.slint |
| 新建/编辑任务对话框 | src/ui/components/dialogs/scheduler_dialog.slint |
| 界面中文文案 | assets/i18n/zh-CN.toml |
此外,WSL Dashboard 自身的开机自启实例、USB 自动连接、端口转发等特性,也正是通过同一套任务计划机制(/scheduler参数)实现的,见 src/app/cli.rs。
常见问题
Q:到点了任务没执行?先确认任务未被禁用,再检查是否以管理员权限创建(编辑他人创建的任务需要 UAC)。
Q:执行时 WSL Dashboard 必须开着吗?不需要。任务注册在 Windows 任务计划程序中,独立于本程序运行。
Q:弹出黑色命令窗口很打扰?把命令改为.ps1、.bat、.cmd或.py脚本,工具会自动通过 VBS 静默方式执行,全程无窗口。
配置完成后,你的 WSL 实例将像打工人一样准时上下线 ⏰。每天省下两次手动操作,把时间留给更重要的事。
【免费下载链接】wsl-dashboardA GUI manager for WSL featuring a modern UI — a lightweight, low‑memory, high‑performance dashboard to manage WSL instances. Install, list, start, stop, unregister, and configure your WSL distros from one place.项目地址: https://gitcode.com/gh_mirrors/ws/wsl-dashboard
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考