为什么NAS总满了?4步找出并清理重复文件
【免费下载链接】nas-toolsNAS媒体库管理工具项目地址: https://gitcode.com/GitHub_Trending/na/nas-tools
有天整理照片,你发现同一张截图在"下载"、"影视备份"、"桌面备份"里各存了一份——顺手一查容量,8T 的硬盘已经用了 92%。删吧,不确定哪个是正版;不删吧,空间眼看着就不够下季新片了。这种时候就别自己一个个翻文件夹了,让 nas-tools 来干:它是一个 NAS 媒体库管理工具,重复文件管理功能专门负责把散落在各处的冗余副本"揪"出来。
先跑起来:4步看到第一份检测报告
检测的思路其实很简单:先比文件大小,大小一样的再各抽 1MB 算个"指纹"(哈希),指纹还一样才做全文件哈希确认,层层过滤掉误报。
- 装好工具。这条命令把镜像拉下来,跟着官方 README 的 Docker 方式部署即可:
docker pull nastool/nas-tools:latest - 浏览器打开 Web 界面(默认端口 3000),进"工具 → 重复文件管理"。
- 点"新建任务",选扫描路径,检测模式用"标准检测",最小文件大小设 10MB——小文件大多是缓存和图标,扫了也白扫。
- 点"开始检测"。千把个文件的标准扫描,几分钟就能出报告。
下面这张图就是文件被判定为"重复"要过的三层关卡:
检测结果按"重复组"展示:同一组里的文件内容完全相同,留一个删其余就行。
如果你要动手删:先选对保留哪个
组内文件内容一致,该留哪个全看你需求:视频留码率高的,照片留修改时间最新的。处理方式里最稳妥的是"移动到回收站",通常有 30 天左右的恢复期,删错了还有机会捞回来;"硬链接合并"则连删除都不算,只是让几个路径指向同一份数据,直接省空间。第一次操作,建议先勾一个你100%认识的小重复组练手,确认行为符合预期再放大范围。
如果你不想它误扫:批量清理前先排除系统目录
NAS 里有一堆"长得像垃圾但不是垃圾"的文件:群晖的缩略图缓存@eaDir、未下载完的.part、系统目录。不排除的话,报告里一半是噪音,还可能把缓存删了导致预览图全要重建。在项目配置里加一段排除规则即可,改完重启容器生效:
duplicate: exclude: paths: - "*/@eaDir/*" # 群晖缩略图缓存 - "*/.synology/*" # Synology 系统文件 patterns: - ".*\\.part$" # 未完成的下载 sizes: min: 10485760 # 10MB 以下不检测如果不想碰配置文件,Web 界面的任务参数里也有"排除路径"一栏,效果相同,适合临时性扫描。
如果你嫌每次手动点:让它每周自己跑一次
清理完第一轮,后面就不用天天惦记了。在"系统 → 任务计划"里建个任务:类型选"重复文件检测",时间定每周日凌晨 3 点,操作设为"检测完成后发通知"。从此每周收到一封摘要邮件——几组重复、能省多少空间——有空再点开处理,没空就让它继续攒着。这是最省心的"检测-清理"循环,比任何手动习惯都可靠。
我踩过的三个坑
- 检测结果为空,但我明明知道有重复。八成是权限问题:容器对扫描目录只有读不到的权限,或目录在排除规则里被自己排掉了。先看容器日志确认挂载正常,再把排除列表逐条对照一遍。
- 100GB 的大文件扫得特别慢。全文件哈希对大文件是真慢,我后来改用了"大文件快速模式"——只对比头、中、尾各 100MB,速度能快好几倍,配合采样检测日常使用足够准。
- 某个文件死活删不掉。通常是媒体服务器(比如 Plex)正占用着它做转码或索引。我先停掉相关服务再删,或者干脆勾"计划删除",等系统空闲时段自动执行,不用干等。
收尾
今晚就挑一个最乱的文件夹跑一次标准检测,先看报告再动手删。想更进一步的话,可以翻翻项目里的 requirements.txt 和 README.md,看看它还有哪些依赖和安装方式,把整个媒体库管理流程也顺手搭起来。
【免费下载链接】nas-toolsNAS媒体库管理工具项目地址: https://gitcode.com/GitHub_Trending/na/nas-tools
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考