这篇就先简单展示一下 hlink 硬链 + TMM 刮削的效果。
NAS 相关 篇四:硬链接神器 hlink 使用教程(unraid 篇)
这篇就先简单展示一下 hlink 硬链 + TMM 刮削的效果。
红框为 PT 做种源文件目录,蓝框为 hlink 自动硬链以后,经过 TMM 刮削整理的媒体目录。
就算不用 TMM 进行重命名整理。
hlink 也会自动把散落在源根目录下的单个文件,放入独立的文件夹里面。
是不是非常整洁,强迫症必备。
![]()
顺便说几个小技巧。
老规矩。话不多说,unraid下安装 hlink 使用教程马上开始。
hlink 安装需要 nodejs 环境,第一步我们给 unraid 安装 nodejs 环境。
来到 nodejs 官网下载界面
我这里选择 linux X64 版本(其他系统类似,选择合适自己的版本)
下载文件为 node-v14.17.0-linux-x64.tar.xz
下载完成后把安装文件放入 unraid 里,我这里直接拖入 unraid 共享盘。(我之前已经安装过 v14.16.1 版本,所以有旧版安装包,请无视。)
我这里 unraid 内文件实际路径是 /mnt/user/unraid/nodejs/node-v14.17.0-linux-x64.tar.xz
路径按自己的实际路径来就行,不要死记照抄。
下面我们打开 unraid 控制台,解压安装 nodejs。
进入刚刚保存安装包的目录,命令如下(根据你的实际安装包存放路径填写)。
cd /mnt/user/unraid/nodejs/
解压安装 nodejs,命令如下(根据你的实际安装包名称填写)
tar -xvf node-v14.17.0-linux-x64.tar.xz
等待解压安装完成。完成后可以输入 ls 命令查看解压安装是否成功。有安装包同名文件夹存在就 OK。
最后我们要把 nodejs 变为全局可用,输入并执行下面两条软连接命令即可。
ln -s /mnt/user/unraid/nodejs/node-v14.17.0-linux-x64/bin/npm /usr/local/bin/
ln -s /mnt/user/unraid/nodejs/node-v14.17.0-linux-x64/bin/node /usr/local/bin/
(注意路径部分是我们自定义安装 nodejs 的实际路径,根据个人情况自己填写,可以在 unraid 索引界面查看。)
完成 nodejs 环境的安装以后,我们就可以安装 hlink 程序了。
输入安装命令安装 hlink,并等待安装完成。
npm install -g hlink
安装完成以后就可以使用 hlink 了
由于 hlink 的安装路径没有加入系统环境变量里面,不能直接用 hlink "源路径" "目标路径" 这个命令来运行。
我们要使用 hlink 程序,直接指定 hlink 的绝对路径(安装路径)就可以了。
安装 hlink 完成后,我们查看安装结果就可以看到 hlink 的安装路径。如图红框处。
所以使用 hlink 的命令就是
/mnt/user/unraid/nodejs/node-v14.17.0-linux-x64/bin/hlink "源路径" "目标路径"
路径部分建议用半角 "" 标注,可以避免路径内文件夹名称有空格导致命令识别错误。
测试一下运行情况。
我这里源路径为 / mnt/user/unraid/media/test1,目标路径为 / mnt/user/unraid/media/test2。
hlink 安装路径为 / mnt/user/unraid/nodejs/node-v14.17.0-linux-x64/bin/hlink
因此 hlink 运行命令如下
/mnt/user/unraid/nodejs/node-v14.17.0-linux-x64/bin/hlink "/mnt/user/unraid/media/test1" "/mnt/user/unraid/media/test2"
完美运行
以上就是 unraid 下 hlink 安装和基本使用方法。
以后所有使用 hlink 的命令,都要加上你 hlink 软件的绝对路径。
我这里就是 / mnt/user/unraid/nodejs/node-v14.17.0-linux-x64/bin/hlink
教程之后的部分将用 hlink 命令指代 / mnt/user/unraid/nodejs/node-v14.17.0-linux-x64/bin/hlink,以免太过冗长。
自己使用的情况下请根据自身实际路径来执行,注意不要弄错。
进阶功能
软件功能可以在 SSH 输入 hlink 命令 --help 查看
一般我们只需要用到白名单或者黑名单功能就好了。
要使用黑名单模式,必须把 hlink 默认使用的白名单配置参数去除。
首先我们生成配置文件。
执行
hlink 命令 -g
就可以生成 hlink 配置文件 hlink.config.js
我这里默认生成路径为 / 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.config.js 配置文件复制到一个自定义路径,具体原因之后再说。
我这里复制到 / mnt/user/unraid/nodejs/hlink/hlink.config.js
执行复制命令
cp /root/hlink.config.js /mnt/user/unraid/nodejs/hlink/hlink.config.js
这样我们就配置好 hlink 配置文件了,后面正式开始使用 hlink。
黑白名单使用方法如下
白名单功能命令为 - i,可以指定仅需要硬链接的格式。比如我只需要硬链接. MKV 格式的文件。则命令如下(以使用部分的命令为例),注意空格。
hlink 命令 -i=mkv "/mnt/user/unraid/media/test1" "/mnt/user/unraid/media/test2"
如果需要多个格式类型,则在 - i = 后写入,以半角逗号隔开,比如需要连接. MKV、.MP4、.MOV
品牌

粉丝:
- 商品百科
- 好价
- 社区文章
格式,则命令如下(以使用部分的命令为例),注意空格。
hlink 命令 -i=mkv,mp4,mov "/mnt/user/unraid/media/test1" "/mnt/user/unraid/media/test2"
运行参考图
黑名单功能命令为 - e,可以指定不需要硬链接的格式。比如我们不需要硬链接. nfo 格式的文件。则命令如下(以使用部分的命令为例),注意空格。
hlink 命令 -e=nfo "/mnt/user/unraid/media/test1" "/mnt/user/unraid/media/test2"
如果需要多个格式类型,则在 - e = 后写入,以半角逗号隔开,比如不需要连接. nfo、.jpg、.png、.bmp 格式(这几个格式文件,进行刮削很可能会被改动,所以一定要排除。因为硬链接修改目标文件也会导致源文件同步修改,会影响做种。),则命令如下,注意空格。
hlink 命令 -e=nfo,jpg,png,bmp "/mnt/user/unraid/media/test1" "/mnt/user/unraid/media/test2"
运行参考图
想全自动执行的话,在 unraid 的 User Scripts 插件里添加你需要的硬链接命令,设定自己需要的时间间隔,定时自动执行就可以了。
设置好以后,hlink 就可以后台全自动硬链接,无需人工干预。
你只需要让你的媒体库(emby、jellyfin、plex、video station)自动读取刮削目标文件夹内容就可以啦。
不论怎样刮削改名改变文件夹层级,都完全不会影响 PT 做种。
特别注意!
因为 unraid 系统的特性。
重启以后系统环境变量会重置。
hlink 生成配置文件的默认目录也会被重置清空。
所以我们要把前边配置过的软连接命令配置成开机自动执行脚本。
还要在开机自动执行脚本中,把前面复制到自定义路径的配置文件链接到默认生成目录。
这样每次开机才能正常使用 hlink 命令。
可以在 User Scripts 插件里加入以下命令。
ln -s /mnt/user/unraid/nodejs/node-v14.17.0-linux-x64/bin/npm /usr/local/bin/
ln -s /mnt/user/unraid/nodejs/node-v14.17.0-linux-x64/bin/node /usr/local/bin/
ln -s /mnt/user/unraid/nodejs/hlink/hlink.config.js /root/hlink.config.js
配置为开机启动即可。
最后补充:
如果有想直接使用
hlink "源路径" "目标路径"
这个命令的同学
可以多做一条软链,配置一下系统环境变量。
ln -s /mnt/user/unraid/nodejs/nodejs/bin/hlink /usr/local/bin/hlink
软链接命令一起加入开机启动。
以后 hlink 就可以不用加一长串绝对路径了。
仅供参考~
如果有使用上的问题,请加入反馈 QQ 群。
完结 撒花
![]()
原文链接:
https://post.smzdm.com/p/alx9pz3g/
红框为 PT 做种源文件目录,蓝框为 hlink 自动硬链以后,经过 TMM 刮削整理的媒体目录。
就算不用 TMM 进行重命名整理。
hlink 也会自动把散落在源根目录下的单个文件,放入独立的文件夹里面。
是不是非常整洁,强迫症必备。
![]()
顺便说几个小技巧。
老规矩。话不多说,unraid下安装 hlink 使用教程马上开始。
hlink 安装需要 nodejs 环境,第一步我们给 unraid 安装 nodejs 环境。
来到 nodejs 官网下载界面
我这里选择 linux X64 版本(其他系统类似,选择合适自己的版本)
下载文件为 node-v14.17.0-linux-x64.tar.xz
下载完成后把安装文件放入 unraid 里,我这里直接拖入 unraid 共享盘。(我之前已经安装过 v14.16.1 版本,所以有旧版安装包,请无视。)
我这里 unraid 内文件实际路径是 /mnt/user/unraid/nodejs/node-v14.17.0-linux-x64.tar.xz
路径按自己的实际路径来就行,不要死记照抄。
下面我们打开 unraid 控制台,解压安装 nodejs。
进入刚刚保存安装包的目录,命令如下(根据你的实际安装包存放路径填写)。
cd /mnt/user/unraid/nodejs/
解压安装 nodejs,命令如下(根据你的实际安装包名称填写)
tar -xvf node-v14.17.0-linux-x64.tar.xz
等待解压安装完成。完成后可以输入 ls 命令查看解压安装是否成功。有安装包同名文件夹存在就 OK。
最后我们要把 nodejs 变为全局可用,输入并执行下面两条软连接命令即可。
ln -s /mnt/user/unraid/nodejs/node-v14.17.0-linux-x64/bin/npm /usr/local/bin/
ln -s /mnt/user/unraid/nodejs/node-v14.17.0-linux-x64/bin/node /usr/local/bin/
(注意路径部分是我们自定义安装 nodejs 的实际路径,根据个人情况自己填写,可以在 unraid 索引界面查看。)
完成 nodejs 环境的安装以后,我们就可以安装 hlink 程序了。
输入安装命令安装 hlink,并等待安装完成。
npm install -g hlink
安装完成以后就可以使用 hlink 了
由于 hlink 的安装路径没有加入系统环境变量里面,不能直接用 hlink "源路径" "目标路径" 这个命令来运行。
我们要使用 hlink 程序,直接指定 hlink 的绝对路径(安装路径)就可以了。
安装 hlink 完成后,我们查看安装结果就可以看到 hlink 的安装路径。如图红框处。
所以使用 hlink 的命令就是
/mnt/user/unraid/nodejs/node-v14.17.0-linux-x64/bin/hlink "源路径" "目标路径"
路径部分建议用半角 "" 标注,可以避免路径内文件夹名称有空格导致命令识别错误。
测试一下运行情况。
我这里源路径为 / mnt/user/unraid/media/test1,目标路径为 / mnt/user/unraid/media/test2。
hlink 安装路径为 / mnt/user/unraid/nodejs/node-v14.17.0-linux-x64/bin/hlink
因此 hlink 运行命令如下
/mnt/user/unraid/nodejs/node-v14.17.0-linux-x64/bin/hlink "/mnt/user/unraid/media/test1" "/mnt/user/unraid/media/test2"
完美运行
以上就是 unraid 下 hlink 安装和基本使用方法。
以后所有使用 hlink 的命令,都要加上你 hlink 软件的绝对路径。
我这里就是 / mnt/user/unraid/nodejs/node-v14.17.0-linux-x64/bin/hlink
教程之后的部分将用 hlink 命令指代 / mnt/user/unraid/nodejs/node-v14.17.0-linux-x64/bin/hlink,以免太过冗长。
自己使用的情况下请根据自身实际路径来执行,注意不要弄错。
进阶功能
软件功能可以在 SSH 输入 hlink 命令 --help 查看
一般我们只需要用到白名单或者黑名单功能就好了。
要使用黑名单模式,必须把 hlink 默认使用的白名单配置参数去除。
首先我们生成配置文件。
执行
hlink 命令 -g
就可以生成 hlink 配置文件 hlink.config.js
我这里默认生成路径为 / 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.config.js 配置文件复制到一个自定义路径,具体原因之后再说。
我这里复制到 / mnt/user/unraid/nodejs/hlink/hlink.config.js
执行复制命令
cp /root/hlink.config.js /mnt/user/unraid/nodejs/hlink/hlink.config.js
这样我们就配置好 hlink 配置文件了,后面正式开始使用 hlink。
黑白名单使用方法如下
白名单功能命令为 - i,可以指定仅需要硬链接的格式。比如我只需要硬链接. MKV 格式的文件。则命令如下(以使用部分的命令为例),注意空格。
hlink 命令 -i=mkv "/mnt/user/unraid/media/test1" "/mnt/user/unraid/media/test2"
如果需要多个格式类型,则在 - i = 后写入,以半角逗号隔开,比如需要连接. MKV、.MP4、.MOV
品牌

粉丝:
- 商品百科
- 好价
- 社区文章
格式,则命令如下(以使用部分的命令为例),注意空格。
hlink 命令 -i=mkv,mp4,mov "/mnt/user/unraid/media/test1" "/mnt/user/unraid/media/test2"
运行参考图
黑名单功能命令为 - e,可以指定不需要硬链接的格式。比如我们不需要硬链接. nfo 格式的文件。则命令如下(以使用部分的命令为例),注意空格。
hlink 命令 -e=nfo "/mnt/user/unraid/media/test1" "/mnt/user/unraid/media/test2"
如果需要多个格式类型,则在 - e = 后写入,以半角逗号隔开,比如不需要连接. nfo、.jpg、.png、.bmp 格式(这几个格式文件,进行刮削很可能会被改动,所以一定要排除。因为硬链接修改目标文件也会导致源文件同步修改,会影响做种。),则命令如下,注意空格。
hlink 命令 -e=nfo,jpg,png,bmp "/mnt/user/unraid/media/test1" "/mnt/user/unraid/media/test2"
运行参考图
想全自动执行的话,在 unraid 的 User Scripts 插件里添加你需要的硬链接命令,设定自己需要的时间间隔,定时自动执行就可以了。
设置好以后,hlink 就可以后台全自动硬链接,无需人工干预。
你只需要让你的媒体库(emby、jellyfin、plex、video station)自动读取刮削目标文件夹内容就可以啦。
不论怎样刮削改名改变文件夹层级,都完全不会影响 PT 做种。
特别注意!
因为 unraid 系统的特性。
重启以后系统环境变量会重置。
hlink 生成配置文件的默认目录也会被重置清空。
所以我们要把前边配置过的软连接命令配置成开机自动执行脚本。
还要在开机自动执行脚本中,把前面复制到自定义路径的配置文件链接到默认生成目录。
这样每次开机才能正常使用 hlink 命令。
可以在 User Scripts 插件里加入以下命令。
ln -s /mnt/user/unraid/nodejs/node-v14.17.0-linux-x64/bin/npm /usr/local/bin/
ln -s /mnt/user/unraid/nodejs/node-v14.17.0-linux-x64/bin/node /usr/local/bin/
ln -s /mnt/user/unraid/nodejs/hlink/hlink.config.js /root/hlink.config.js
配置为开机启动即可。
最后补充:
如果有想直接使用
hlink "源路径" "目标路径"
这个命令的同学
可以多做一条软链,配置一下系统环境变量。
ln -s /mnt/user/unraid/nodejs/nodejs/bin/hlink /usr/local/bin/hlink
软链接命令一起加入开机启动。
以后 hlink 就可以不用加一长串绝对路径了。
仅供参考~
如果有使用上的问题,请加入反馈 QQ 群。
完结 撒花
/mnt/user/isos/node-v16.13.2-linux-x64/bin/hlink "/mnt/user/video" "/mnt/user/videos"
ln -s /mnt/user/MyData/nodejs/node-v16.15.0-linux-x64/bin/npm /usr/local/bin/
ln -s /mnt/user/MyData/nodejs/node-v16.15.0-linux-x64/bin/node /usr/local/bin/
ln -s /mnt/user/MyData/nodejs/node-v16.15.0-linux-x64/bin/hlink /usr/local/bin/hlink
ln -s /mnt/user/MyData/hlink/hlink.config.movie.mjs /root/hlink.config.movie.mjs
ln -s /mnt/user/MyData/hlink/hlink.config.tvshow.mjs /root/hlink.config.tvshow.mjs
定时任务代码:
hlink -c /root/hlink.config.movie.mjs
hlink -c /root/hlink.config.tvshow.mjs
chmod -R 777 /mnt/user/movie/电影/*
chmod -R 777 /mnt/user/movie/电视剧/*
定时任务表达式30分钟执行一次:
*/30 * * * *
原文链接:
https://post.smzdm.com/p/alx9pz3g/








































文章评论