影音媒体库,应该是广大NAS玩家必不可少的折腾项目。
不知道有多少人入坑NAS,就是为了那炫目的海报墙?
海报墙、刮削、PT这几个坑,估计90%的NAS玩家都踩过。
只要你踩过这几个坑,那就肯定会遇到一个问题。
PT做种和刮削,该怎么相容?
今天给大家带来一个PT做种+刮削近乎完美的方案
硬链接神器 —— hlink
https://github.com/likun7981/hlink
可能有人会说,不就是硬链接吗,不稀奇。
没错,hlink的软件功能就是创建硬链接。
但是hlink强就强在,可以对已经创建过硬链接的文件进行过滤。每次执行命令只会硬链接新的文件,就算将硬链接生成的目标文件重命名,hlink也能识别过滤,不会进行重复创建。
更重要的是hlink支持黑白名单模式,你可以任意选择需要的文件格式进行硬链接。
简单来说,部署好hlink以后,可以利用hlink的功能,把PT做种的资源“复制”成一个只有媒体文件的媒体库。 用emby、plex、jellyfin之类的媒体库软件对“复制”出来的这个媒体库进行任何操作,都不会影响源文件的PT做种。
之所以说是“复制”,是为了方便小白们简单理解硬链接。实际上源文件和所有硬链接文件,只占用一份空间。有兴趣请自行搜索“硬链接”相关资料学习。这里就不展开讲了。
hlink系列教程也是偏小白向的,不严谨的地方更多是为了方便小白理解。老司机请海涵。
话不多说,下面就开始hlink在群晖下的部署教程。
hlink是一个软件,依赖于nodejs10以上环境。
所以第一步我们先安装nodejs。
套件中心搜索node
安装Node.js V12套件
然后登陆SSH,获取root权限。
输入安装命令
npm install -g hlink
按回车开始安装
稍作等待,一会就可以完成安装。
如图显示既是安装成功
如果出现安装失败,请检查网络连接情况,重新输入安装命令多试几次。
安装后就可以使用hlink了,非常简单。
硬链接命令为
hlink "源路径" "目标路径"
路径部分建议用半角""标注,可以避免路径内文件夹名称有空格导致命令识别错误。
示例:
Hlink "/volume8/WD 12T/PT/movie" "/volume8/WD 12T/test"
回车执行
执行结果就是,把路径 "/volume8/WD 12T/PT/movie"的所有内容,硬链接到"/volume8/WD 12T/test"。
注意硬链接不能跨盘,也就是说源路径和目标路径必须在同一个盘(分区)内,如果执行报错,大概率是跨盘导致。
群晖下,同一个存储池就是同一个盘。
进阶功能
软件功能可以在SSH输入hlink -–help查看
一般我们只需要用到白名单或者黑名单功能就好了。
要使用黑名单模式必须把hlink默认使用的白名单配置参数去除。首先我们生成配置文件。
执行
hlink -g
生成配置文件
配置文件默认路径在/root/hlink.config.js
然后编辑hlink.config.js配置文件
执行命令
vi /root/hlink.config.js
默认配置文件内容如上图。
图上includeExtname部分为hlink默认硬链的格式。
这里要把includeExtname项默认的内容都删掉,否则excludeExtname黑名单模式不生效。
删掉includeExtname内容就可以实现全内容硬链(hlink "源路径" "目标路径")、白名单硬链(hlink -i=xxx "源路径" "目标路径")、黑名单硬链(hlink -e=xxx "源路径" "目标路径")三种模式手动控制。
(按 i 键,进入编辑模式)
修改完成保存配置文件即刻生效。
(按 esc 退出编辑模式,键入 :wq 保存编辑)
这样我们就配置好了hlink,后面正式开始使用。
黑白名单使用方法如下
白名单功能命令为-i,可以指定仅需要硬链接的格式。比如我只需要硬链接.MKV格式的文件。则命令如下(以使用部分的命令为例),注意空格。
hlink -i=mkv "/volume8/WD 12T/PT/movie" "/volume8/WD 12T/test"
如果需要多个格式类型,则在-i=后写入,以半角逗号隔开,比如需要连接.MKV、.MP4、.MOV格式,则命令如下(以使用部分的命令为例),注意空格。
hlink -i=mkv,mp4,mov "/volume8/WD 12T/PT/movie" "/volume8/WD 12T/test"
运行参考图
黑名单功能命令为-e,可以指定不需要硬链接的格式。比如我们不需要硬链接.nfo格式的文件。则命令如下(以使用部分的命令为例),注意空格。
hlink -e=nfo "/volume8/WD 12T/PT/movie" "/volume8/WD 12T/test"
如果需要多个格式类型,则在-e=后写入,以半角逗号隔开,比如不需要连接.nfo、.jpg、.png、.bmp格式(这几个格式文件,进行刮削很可能会被改动,所以一定要排除。因为硬链接修改目标文件也会导致源文件同步修改,会影响做种。),则命令如下(以使用部分的命令为例),注意空格。
hlink -e=nfo,jpg,png,bmp "/volume8/WD 12T/PT/movie" "/volume8/WD 12T/test"
运行参考图
想全自动执行的话,在群晖计划任务添加你需要的硬链接命令,设定自己需要的时间间隔,定时执行就可以了。
如果想一次执行多条命令,可以写在一起,单条命令用回车键分隔。
设置好以后,hlink就可以后台全自动硬链接,无需人工干预。
你只需要让你的媒体库(emby、jellyfin、plex、video station)自动读取刮削目标文件夹内容就可以啦。完全不会影响PT做种。
如果有使用上的问题,请加入反馈QQ群。
后面我还会把unraid下、威联通下的hlink小白教程发上来,敬请期待。
完结 撒花
由于编辑文档的时候,没注意word开启了英文首字母自动大写功能。导致教程里一些执行命令的"hlink"字样变成了"Hlink"。这样执行是会失败的。执行hlink命令的时候,注意是小写的“hlink”。长篇教程难免有错漏,遇到问题最好对比执行示意图,学会纠错。