Navicat本身不支持每小时自动执行脚本,必须依赖Windows任务计划程序调度;需正确配置触发器(设重复间隔1小时、无限期)、脚本路径(“起始于”填目录绝对路径)、权限(勾选“不管用户是否登录都要运行”和“使用最高权限运行”)。
Navicat 本身不支持每小时自动执行脚本
你点「计划任务」或「自动运行」菜单,看到的只是生成一个 backup_script.bat 或 sync_job.ncx 文件,真正调度它每小时跑一次的,必须是 windows 任务计划程序(taskschd.msc)。navicat 没有后台服务,关掉客户端、切到其他窗口、锁屏后,“自动运行”就停了——这不是故障,是设计如此。
用任务计划程序实现“每小时触发”的关键三步
不是勾选“每天”再设“重复1小时”就完事。Windows 任务计划对“每小时”有隐藏逻辑,必须手动微调:
- 创建基本任务时,触发器选「每天」,起始时间设为你要第一次执行的时刻(比如
2026-04-24 15:00) - 保存后双击任务 → 切换到「触发器」选项卡 → 点「编辑」→ 勾选「重复任务间隔」,设为「1小时」,持续时间选「无限期」
- 务必在「高级设置」里取消勾选「停止任务如果运行超过以下时间」,否则一小时整点没跑完就被强制杀掉,备份或同步中途失败
脚本路径和权限配置最容易出错
很多任务“创建成功但不生成文件”,问题几乎全出在这三项:
-
“起始于(可选)”字段必须填脚本所在目录的绝对路径(如C:\navicat_tasks\),不能留空或填脚本全路径——否则cd失败,相对路径全崩 - 任务属性 → 「常规」选项卡 → 勾选「不管用户是否登录都要运行」+「使用最高权限运行」,否则写入备份目录报
Access is denied - 脚本里调用
navicat.exe或navigator.exe时,路径含空格必须用英文双引号包裹,例如:"C:\Program Files\PremiumSoft\Navicat Premium 16\navicat.exe" -backup "MyDB"
每小时执行的真实代价与替代建议
高频调度对数据库压力不小,尤其用 Navicat CLI 调用 -backup 或 -runjob 时,它底层仍会建立完整连接、加载元数据、生成临时文件。更轻量的做法是:
- 若只需备份,直接用
mysqldump+ 任务计划,启动快、无 GUI 依赖、日志清晰 - 若需同步,检查目标库是否真需要“每小时”:多数场景下,MySQL 的
event_scheduler配合INSERT ... SELECT增量复制更稳,且不依赖 Navicat 进程存活 - 确认你的 Navicat 版本:只有 Premium 16+ 提供稳定 CLI;旧版调
navigator.exe时,.nsx 文件里若勾了「保存密码」,命令行必然静默失败











