# 目录同步指南 配置路径:`/system/sync` ## 目录导航 - [工作原理](#工作原理) - [配置说明](#配置说明) - [推荐目录结构](#推荐目录结构) - [基本配置](#基本配置) - [转移方式详解](#转移方式详解) - [常见问题](#常见问题) --- ## 工作原理 🔍 **监控机制**: - 实时监控源目录的文件新增 - 自动按配置方式转移文件 - 支持多种转移方式(硬链接/复制/移动等) ⚠️ **注意事项**: - 部分环境可能无法实现实时监控 - 遇到问题请参考 [常见问题](#常见问题) --- ## 配置说明 ### 推荐目录结构 💡 **最佳实践**: 1. **同一磁盘分区**结构(推荐): ``` /data/ ├── downloads/ # 下载目录 │ ├── movies/ # 电影下载 │ ├── tv/ # 电视剧下载 │ └── anime/ # 动漫下载 └── media/ # 媒体库目录 ├── movies/ ├── tvshows/ └── anime/ ``` - 支持硬链接,节省空间 - 保持做种不受影响 2. **跨磁盘结构**(不推荐硬链接): ``` /downloads/ # 下载目录(磁盘1) /media/ # 媒体库目录(磁盘2) ``` - **源目录**:`源目录`为需要同步的目录,源目录必须配置。 - **目的目录**:`目的目录`为识别和改名后存放的目录,目的目录未配置时将自动识别分类并转移到`媒体库目录`(此时显示为`自动`)。 - **未识别目录**:`未识别目录`为无法识别时转移的目录,未识别目录下产生的文件程序**不会主动清理**,建议不配置,未识别记录可在 *文件管理*(`/rename/mediafile`) 功能下处理。 - **同步方式**:参考 [转移方式](#转移方式详解)。 - **兼容模式**:开启`兼容模式`后,目录同步可以实时监控挂载网盘、跨系统SMB共享等场景,但监控性能会降低,会增加对磁盘的访问量。 ## 转移方式详解 - **硬链接** - 一份文件生成多个文件入口,但只占用一份存储空间 - 只有所有入口都删除后才能释放文件占用空间 - 可以修改硬链接后的文件名但不会影响原文件做种(不能修改文件内容) - 要求在同一磁盘下才能硬链接 - **软链接** - 类似于快捷方式,原文件删除后软链接即会失效 - 使用软链接时的原文件路径需要与生成软链接时的原文件路径保持一致 - 在docker环境下,映射前后的目录路径需要一致 - **复制** - 复制一份副本,多占用一份空间 - **移动** - 移动文件存储位置,会影响原文件做种 - **Rclone复制** - 使用Rclone复制本地文件到网盘 - 需要自行映射rclone配置目录到容器中(/nt/.config/rclone) - 或在容器内使用rclone config完成rclone配置 - 网盘配置名称必须为:NEXUS_MEDIA - 参考:[Rclone环境变量](https://rclone.org/docs/#environment-variables) - **Rclone移动** - 使用Rclone移动本地文件到网盘 - 其余与Rclone复制一致 - **Minio复制** - Minio复制本地文件到网络存储 - 针对S3/云原生场景 - 需要在容器内使用`mc alias set NEXUS_MEDIA http://your_domain_name_or_ip:port ACCESS_KEY SECRET_KEY`完成minio配置 - alias的名称必须为NEXUS_MEDIA - 在minio控制台增加一个名为data的bucket(名称必须为data) - **Minio移动** - Minio移动本地文件到网络存储 - 其余与Minio复制一致 - **识别并重命名**:`开启`后会对原文件进行识别并按定义的重命名格式进行重命名;`关闭`后只转移文件不识别和重命名,相当于文件同步。 ## 目录同步不自动运行 - 启动日志报与`inotify`相关的错误时,在宿主机上(不是docker容器里)执行以下命令,并重启宿主机: ```shell echo fs.inotify.max_user_watches=5242880 | sudo tee -a /etc/sysctl.conf echo fs.inotify.max_user_instances=5242880 | sudo tee -a /etc/sysctl.conf sudo sysctl -p ``` - 挂载`网盘`、`Windows向Linux的SMB共享`、`NFS共享`等不支持事件触发的目录实时监控,可改为使用`下载器监控`,或者打开目录同步的`兼容模式`(兼容模式下性能较低,可能会频繁读取磁盘)。 - 目录同步的源目录和目的目录或媒体库目录`不能存在嵌套关系`,此时日志中会有提示。 - 已安装插件中的`定时目录同步`,使用定时执行全量同步命令的方式同步目录(不推荐)。