这篇就先简单展示一下 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/
文章评论