BT是个好东西,PT更是个好东西,从北邮人下资源简直不能更爽。但是下载下来的资源往往文件名都比较奇葩,目录结构也比较乱。而且有些资源会有预告片,OP,ED等等视频,导入的jellyfin后也会抢占海报墙,贼丑陋。虽然可以靠TMM一键重命名,但赏心悦目的代价就是bt软件不认了。如何能即整理好文件夹,又不影响挂pt,还不用复制一份占空间呢?这里就要用到Linux里的硬链接了。当然有许多其他的教程来辅助大家完成这一工作,例如这篇文章介绍了硬链接的原理和一个用于创建的工具:https://post.smzdm.com/p/axl23mq4/。我在这里则提出另外一种方法和思路:利用qbittorrent的完成任务后执行命令以及系统自带的cp -rl 命令,不需要借助任何其他工具即可完成类似的效果。
具体操作:
为了方便大家理解,我从一个全新的共享文件夹开始。如图所示的Example即为我们的工作目录。
工作目录(Download,电影文件夹已经准备好)
1. 创建Download和电影文件夹。qbittorrent会将资源下载到Download中。
2. 准备qbittorrent软件,可以之间利用Container Station中的创建应用程序,用docker-compose描述它
docker-compose 是个好东西!
version: "2.1"
services:
qb:
image: superng6/qbittorrent
environment:
- PUID=1000
- PGID=100
- WEBUI_PORT=9980
volumes:
- /share/Example:/downloads
- ./config:/config
network_mode: host
restart: unless-stopped
这里需要注意有:1. PUID和PGID应该是你用户的ID和组的ID。如果你是默认的第一个用户,那么就应该是1000和100,否则请自行ssh后用命令查询。2. volumes 里的第一行 - /share/Example:/downloads,就是将Example共享文件夹挂载到docker容器里,如果你的工作目录不是这里,请另行更改。
3. 配置qBittorrent
访问 <<nas的ip>>:9980即可登录到qBittorrent的管理页面,默认用户名是admin,默认密码是adminadmin。可以在 设置->Web UI->验证 中修改用户名密码。
点击 设置->下载->保存管理,修改默认保存路径为 /downloads/Download。
修改默认下载位置
勾选 设置->下载->Torrent 完成时运行外部程序
,并填入命令 bash /downloads/copy.sh "%F"
完成时运行外部程序
4. 配置外部程序
打开Text Editor,新建文档,内容如下,将其保存在Example共享文件夹的根目录里,文件名为copy.sh
#!/bin/bash
INPUT=$1
OUTPUT=${INPUT/Download/}
echo link $INPUT to $OUTPUT
cp -lr "$INPUT" "$OUTPUT"
copy.sh内容和目录
请务必注意:不要直接复制粘贴,因为Windows和Linux的换行符不一致,直接复制粘贴会导致脚本不能运行。请用键盘输入,并对比每一行行尾的标志,其应为一个躺平的L形。
测试效果:
如图我们添加一个种子,并下载到/downloads/Download中,下载完成后,你会在Example的根目录和Download目录中各见到一份文件。各自一份文件
然后我们就可以对 Example 里的这个文件夹任意的挪动位置,修改名字,删除文件,都不会影响Download中的数据。
修改根目录中的文件夹不影响Download中的文件夹
而且只占用了一份空间:
只占用了一份空间
文件删除
如果某天不想做种了,直接在qbittorrent中删除对应的任务和数据即可,此操作不会影响到Example根目录中你整理好的文件如果某天要彻底删除该文件,请将该文件的所有“硬链接”都删除即可。(Download里面的和根目录中的)
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
网友评论