Navicat 15的自动化任务本质是批处理作业+系统级调度,修改触发时间必须同步更新Navicat任务定义和操作系统计划器(Windows任务计划程序/cron),仅在Navicat界面操作无效。

Navicat 15 的“自动化任务”本质是批处理作业 + 操作系统级计划
Navicat 15 里所谓“已有的自动化任务”,其实只是你保存好的一个 .nsx(同步)或 .ntb(备份)文件,外加一条由 Windows Task Scheduler(或 macOS/Linux 的 cron)创建的调度记录。Navicat 自身没有守护进程,也不持久管理计划——它只负责生成和调用命令行。所以,**修改触发时间不是在 Navicat 界面点几下就能生效的**,必须分两步操作:先改 Navicat 里保存的任务定义(比如 SQL 内容、连接参数),再单独去操作系统调度器里改执行时间。
- 你在 Navicat 中右键某个批处理作业 → “设置任务计划”,弹出的窗口只是个“快捷入口”,它底层调用的是
schtasks /create或launchd,不是 Navicat 自己的调度引擎 - 如果你只在 Navicat 界面里改了“每天 2:00 执行”,但没重新保存任务、也没手动更新系统计划,那旧的计划依然按原来的时间跑,新设置完全不生效
- macOS 和 Linux 用户注意:Navicat 的 GUI 计划功能在这些平台基本不可用,因为缺少后台服务支撑;所有修改必须直接编辑 crontab
Windows 下修改触发时间:必须进「任务计划程序」重配
这是最常翻车的地方。很多人以为在 Navicat 里点“编辑触发器”就完了,结果第二天发现任务根本没运行——因为 Navicat 并未自动同步修改到 Windows Task Scheduler。
- 打开「任务计划程序」→ 左侧导航栏点「任务计划程序库」→ 找到以
Navicat_开头或你自定义命名的任务(例如Navicat_Backup_Prod) - 右键 → 「属性」→ 切换到「触发器」选项卡 → 点「编辑」可精确调整:开始时间、重复间隔(如“每 2 小时”)、持续时间、是否启用等
- 关键细节:
起始于字段必须填对 —— 它不是任务文件路径,而是navigator.exe所在目录(例如C:\Program Files\PremiumSoft\Navicat 15\),否则会报错退出码 2(连接拒绝) - 若要实现“每月第一个工作日”,Task Scheduler 本身不支持该语义,得用 PowerShell 脚本中转:先判断今天是否符合条件,再决定是否调用
navigator.exe -backup "D:\jobs\my.nsb"
Navicat 15 界面里的“修改”只影响任务内容,不影响调度逻辑
你能在 Navicat 里安全改动的,只有任务本身的定义部分:比如更换数据库连接、增删 SQL 查询、调整备份路径、开关邮件通知。这些修改不会动调度时间,但会影响每次执行的实际行为。
- 修改后务必点击「保存」,否则下次调用仍是旧版本;保存后的文件(
.nsx/.ntb)路径不变,系统计划仍指向它 - 如果改了连接密码,且该连接启用了
Save password,命令行调用会失败(因 Navicat 不允许明文密码传入 CLI);解决办法:禁用该选项,改用操作系统凭据管理器或在脚本中注入密码 - 若任务里用了动态文件名(如
backup_%Y%m%d.sql),确保目标路径有写权限,否则日志里只显示“执行成功”(退出码 0),实际备份文件为空或被覆盖
容易被忽略的兼容性断点:Navicat 15 命令行工具叫 navicatcli.exe,不是 navigator.exe
这是 2026 年仍在大量踩坑的细节。Navicat 15 使用的是 navicatcli.exe,而 Premium 16+ 才统一为 navigator.exe。混用会导致“找不到程序”或静默失败。
- 确认版本:打开 Navicat 15 安装目录(默认
C:\Program Files\PremiumSoft\Navicat 15\),看是否存在navicatcli.exe;若只有navigator.exe,说明你实际装的是 16+ - 正确命令格式:
"C:\Program Files\PremiumSoft\Navicat 15\navicatcli.exe" --backup "MyConnectionName" "D:\jobs\my.nsb"(路径含空格必须加英文双引号) - 调试建议:在任务计划的「操作」页勾选「运行时请勿启动新实例」,然后查「历史记录」页的退出码 —— 0 成功,1 参数错误,2 连接失败,3 SQL 报错


















