Navicat自动化任务产生的临时文件如何自动清理_设置脚本清理指定缓存目录

秋萱吖_2835

秋萱吖_2835

2026-05-28

513人浏览

原创

Navicat自动化任务产生的临时文件不在数据库内,而是在操作系统缓存目录中:Windows位于%APPDATA%\PremiumSoft\Navicat\Temp\,macOS在~/Library/Caches/com.premiumsoft.navicat/,Linux在~/.navicat/Cache/或/tmp/navicat_*;真实路径需通过连接属性→高级页签→“文件位置”字段的父目录下Temp或Cache子目录确认,且必须用系统级脚本(如PowerShell或find)清理,Navicat自身无法处理。

Navicat 自动化任务产生的临时文件在哪?

navicat 的「自动运行」或「批处理作业」执行过程中,可能生成两类临时文件:temp_*.sql(导出中途暂存)、*.nb3(备份过程中的加密中间文件),以及部分版本在「高级」选项里启用「临时备份」后写入的内存映射文件(实际落盘为 .tmp 或无扩展名二进制块)。这些文件不显示在备份列表中,也不会被 navicat 自己回收。

它们通常藏在以下位置:

  • Windows:%APPDATA%\PremiumSoft\Navicat\Temp\ 或连接属性中「文件位置」指向目录的同级 Temp 子目录
  • macOS:~/Library/Caches/com.premiumsoft.navicat/
  • Linux:~/.navicat/Cache/ 或 /tmp/navicat_*(取决于启动方式)

别依赖“默认路径”——右键 Navicat 中对应数据库连接 → 编辑连接 → 高级页签 → 查看「文件位置」字段,其父目录下的 Temp 或 Cache 才是真实缓存根目录。

PowerShell 脚本清理 Windows 临时文件(推荐)

用 Get-ChildItem + Where-Object 比 forfiles 更可靠:它能正确处理空格路径、Unicode 文件名,并支持按 LastAccessTime(比创建时间更贴近“闲置”语义)筛选。

保存为 clean_navicat_temp.ps1:

Get-ChildItem "C:\Users\Alice\AppData\Roaming\PremiumSoft\Navicat\Temp\" -File -Force |
  Where-Object { $_.LastAccessTime -lt (Get-Date).AddHours(-2) } |
  Remove-Item -Force -ErrorAction SilentlyContinue

关键点:

  • -File 确保只删文件,跳过子目录(避免误删 Temp\MySQL\ 这类结构)
  • -Force 必须加,否则只读或隐藏的临时文件会跳过
  • AddHours(-2) 比 AddDays(-1) 更合理:临时文件通常几秒到几分钟就该释放,设太长反而积压
  • -ErrorAction SilentlyContinue 防止因权限不足或文件正被占用而中断整个脚本

Linux/macOS 用 find 清理缓存目录要绕开三个坑

直接写 find /tmp -name "navicat*" -delete 极易误伤。必须加约束:

navicatmysql
navicatmysql

Navicat For MySQL

下载
  • -maxdepth 1:只扫指定目录一级,不递归进子目录(例如避免删掉 /tmp/navicat_cache/mysql/ 下的正常 socket 文件)
  • -type f:强制只匹配文件,排除同名目录
  • -cmin +30(而非 -mmin +30):用「状态变更时间」判断更准——Navicat 写完临时文件会立刻改 ctime,但 mtime 可能被备份脚本覆盖

安全执行模板:

find "/home/alice/.navicat/Cache/" -maxdepth 1 -type f \( -name "temp_*" -o -name "*.nb3" -o -name "*.tmp" \) -cmin +30 -print

确认输出无误后,把 -print 换成 -delete。注意:find 在 macOS 上不支持 -delete,需用 -exec rm {} \; 替代。

为什么不能直接在 Navicat 计划任务里调 cleanup.sql?

因为 cleanup.sql 是操作数据库的 SQL,而临时文件是操作系统层面的磁盘文件——Navicat 的「自动运行」功能只能触发数据库命令(如 DELETE FROM log_table),完全无法触碰本地文件系统。

常见错误现象:

  • 在 Navicat 批处理作业里添加「运行 SQL 文件」并指向一个含 rm -rf 的 shell 脚本 → 报错 Unknown command 'rm'
  • 把清理逻辑写成存储过程再调用 → 数据库权限不允许执行系统命令(MySQL 默认禁用 SYS_EXEC,且极不安全)
  • 以为「自动运行」勾选了「运行后关闭」就等于“清理完成” → 实际只是关了 Navicat 窗口,临时文件纹丝不动

真正有效的清理,永远发生在操作系统调度层:Windows 用任务计划程序调 PowerShell,Linux/macOS 用 crontab 或 systemd timer,和 Navicat 是否运行无关。

相关专题

更多
C语言变量命名
C语言变量命名

c语言变量名规则是:1、变量名以英文字母开头;2、变量名中的字母是区分大小写的;3、变量名不能是关键字;4、变量名中不能包含空格、标点符号和类型说明符。php中文网还提供c语言变量的相关下载、相关课程等内容,供大家免费下载使用。

2023.06.20

3009

3

c语言入门自学零基础
c语言入门自学零基础

C语言是当代人学习及生活中的必备基础知识,应用十分广泛,本专题为大家c语言入门自学零基础的相关文章,以及相关课程,感兴趣的朋友千万不要错过了。

2023.07.25

2268

9

c语言运算符的优先级顺序
c语言运算符的优先级顺序

c语言运算符的优先级顺序是括号运算符 > 一元运算符 > 算术运算符 > 移位运算符 > 关系运算符 > 位运算符 > 逻辑运算符 > 赋值运算符 > 逗号运算符。本专题为大家提供c语言运算符相关的各种文章、以及下载和课程。

2023.08.02

1200

5

c语言数据结构
c语言数据结构

数据结构是指将数据按照一定的方式组织和存储的方法。它是计算机科学中的重要概念,用来描述和解决实际问题中的数据组织和处理问题。数据结构可以分为线性结构和非线性结构。线性结构包括数组、链表、堆栈和队列等,而非线性结构包括树和图等。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.09

1158

4

c语言random函数用法
c语言random函数用法

c语言random函数用法:1、random.random,随机生成(0,1)之间的浮点数;2、random.randint,随机生成在范围之内的整数,两个参数分别表示上限和下限;3、random.randrange,在指定范围内,按指定基数递增的集合中获得一个随机数;4、random.choice,从序列中随机抽选一个数;5、random.shuffle,随机排序。

2023.09.05

1336

5

c语言const用法
c语言const用法

const是关键字,可以用于声明常量、函数参数中的const修饰符、const修饰函数返回值、const修饰指针。详细介绍:1、声明常量,const关键字可用于声明常量,常量的值在程序运行期间不可修改,常量可以是基本数据类型,如整数、浮点数、字符等,也可是自定义的数据类型;2、函数参数中的const修饰符,const关键字可用于函数的参数中,表示该参数在函数内部不可修改等等。

2023.09.20

2098

7

c语言get函数的用法
c语言get函数的用法

get函数是一个用于从输入流中获取字符的函数。可以从键盘、文件或其他输入设备中读取字符,并将其存储在指定的变量中。本文介绍了get函数的用法以及一些相关的注意事项。希望这篇文章能够帮助你更好地理解和使用get函数 。

2023.09.20

3300

8

c数组初始化的方法
c数组初始化的方法

c语言数组初始化的方法有直接赋值法、不完全初始化法、省略数组长度法和二维数组初始化法。详细介绍:1、直接赋值法,这种方法可以直接将数组的值进行初始化;2、不完全初始化法,。这种方法可以在一定程度上节省内存空间;3、省略数组长度法,这种方法可以让编译器自动计算数组的长度;4、二维数组初始化法等等。

2023.09.22

14835

6

c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

2023.09.22

549

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习