【威联通】做种改名两不误

2022-02-20 13:57:58 22点赞 215收藏 26评论

简单说明

BT是个好东西,PT更是个好东西,从北邮人下资源简直不能更爽。但是下载下来的资源往往文件名都比较奇葩,目录结构也比较乱。而且有些资源会有预告片,OP,ED等等视频,导入的jellyfin后也会抢占海报墙,贼丑陋。虽然可以靠TMM一键重命名,但赏心悦目的代价就是bt软件不认了。如何能即整理好文件夹,又不影响挂pt,还不用复制一份占空间呢?这里就要用到Linux里的硬链接了。

当然有许多其他的教程来辅助大家完成这一工作,例如这篇文章介绍了硬链接的原理和一个用于创建的工具:https://post.smzdm.com/p/axl23mq4/。我在这里则提出另外一种方法和思路:利用qbittorrent的完成任务后执行命令以及系统自带的cp -rl 命令,不需要借助任何其他工具即可完成类似的效果。

具体操作:

为了方便大家理解,我从一个全新的共享文件夹开始。如图所示的Example即为我们的工作目录。

工作目录(Download,电影文件夹已经准备好)工作目录(Download,电影文件夹已经准备好)

1. 创建Download和电影文件夹。qbittorrent会将资源下载到Download中。

2. 准备qbittorrent软件,可以之间利用Container Station中的创建应用程序,用docker-compose描述它

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内容和目录copy.sh内容和目录

请务必注意:不要直接复制粘贴,因为Windows和Linux的换行符不一致,直接复制粘贴会导致脚本不能运行。请用键盘输入,并对比每一行行尾的标志,其应为一个躺平的L形。

测试效果:

如图我们添加一个种子,并下载到/downloads/Download中,下载完成后,你会在Example的根目录和Download目录中各见到一份文件。

各自一份文件各自一份文件

然后我们就可以对 Example 里的这个文件夹任意的挪动位置,修改名字,删除文件,都不会影响Download中的数据。

修改根目录中的文件夹不影响Download中的文件夹修改根目录中的文件夹不影响Download中的文件夹

而且只占用了一份空间:

只占用了一份空间只占用了一份空间

文件删除

  • 如果某天不想做种了,直接在qbittorrent中删除对应的任务和数据即可,此操作不会影响到Example根目录中你整理好的文件

  • 如果某天要彻底删除该文件,请将该文件的所有“硬链接”都删除即可。(Download里面的和根目录中的)

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
26评论

  • 精彩
  • 最新
  • 请教下,我的套件版的qb下载时一直显示下载元数据咋整?

    校验提示文案

    提交
    套件版的没用过 [喜极而泣]

    校验提示文案

    提交
    收起所有回复
  • 技术大佬,可惜用DS,只能收藏备用了。

    校验提示文案

    提交
    群晖应该也可以,原理上应该都支持

    校验提示文案

    提交
    收起所有回复
  • 如果跨卷移动会怎么样,我是单独接了移动硬盘做pt,这样下载目录跟视频库就变成两个不同根目录

    校验提示文案

    提交
    硬链接不支持跨卷 [喜极而泣]

    校验提示文案

    提交
    收起所有回复
  • PT每天平均上传量多吗?有多少T?

    校验提示文案

    提交
    不多,比较已经毕业了 公网挂上传不太行 [喜极而泣]

    校验提示文案

    提交
    收起所有回复
  • transmission要是也有这功能就好了

    校验提示文案

    提交
    一样有脚本

    校验提示文案

    提交
    trnasmission不好用啊,我觉得远不如qb

    校验提示文案

    提交
    收起所有回复
  • 大佬你好,如果我有电影、连续剧、动漫3个文件夹的话,想下载完按分类硬连接 应该咋操作。。 [亲亲]

    校验提示文案

    提交
    这三个文件夹是在同一个共享文件夹内就不影响。下载完之后的文件是在Download里面有一份,根目录有一份,根目录这一份可以随意移动到其他文件夹里。

    校验提示文案

    提交
    soga,dio!! [赞一个]

    校验提示文案

    提交
    收起所有回复
  • 根据命令推测,copy.sh脚本是不是应该放在downloads目录下?

    校验提示文案

    提交
    copy.sh 应该放置在Example共享文件夹的“根目录”中。
    因为Example共享文件夹被挂载到 qbitorrent docker容器的 /downloads 目录,即容器里的/downloads 相当于容器外的 /share/Example。因此在docker容器里会成为 /downloads/copy.sh。

    总结而言,
    威联通系统中应该在:/share/Example/copy.sh
    Docker 容器里应该在: /downloads/copy.sh

    校验提示文案

    提交
    收起所有回复
  • 请问一下,通过这种方式创建的链接,是否要等源文件做完种之后再剪切出来?比如我是拿到其它文件夹去刮削,那做完种我是需要把这个硬连接的媒体文件替换成做完种的源文件吗?还是说我把源文件删除了,这个硬链接的媒体文件的链接就去掉了直接变成源文件了?

    校验提示文案

    提交
    硬链接的媒体文件的链接就去掉了直接变成源文件了? -> 正确。

    其实应该这样理解:
    文件系统: 房地产开发商
    文件数据: 房屋
    文件索引: 门

    你正常创建文件或者从网络上下载文件的时候,开发商除了给你把屋子建好(数据放在硬盘中),还给你修了一个大门用于到达物资(在资源管理器里看见的“文件”,这些“文件”其实不是数据,只是一些大小,位置信息,一般被称作“元数据”)。然后硬链接实际上是你自己又建了道门,都能到达同样的地方,这两道门的地位是相同的。
    所以如果你删除了文件系统自动给你创建的那个门,那你后面新建的硬链接就变成唯一能通往数据的门了。然后如果你把这个也删除了,那就变成了没有门的无法访问的物资,文件系统就知道这个数据没有了,就会腾空数据以供继续使用。

    校验提示文案

    提交

    量力学

    作者

    量力学

    作者
    软连接(快捷方式)则是一个通往门的门,所以如果你把软连接指向的原始文件删除之后,这个文件就会被文件系统直接回收处理了,然后快捷方式也随之失效。

    校验提示文案

    提交
    收起所有回复
  • 感谢分享~试了下openwrt里的qbittorrent~要把bash去掉,才能运行.sh~

    校验提示文案

    提交
    因为openwrt里面没有内置bash,只有sh [喜极而泣]

    校验提示文案

    提交
    请教一下,如果我想把硬链接的文件存放在非根目录,应该怎么设?

    校验提示文案

    提交
    收起所有回复
  • 反盗版app,你们都得下载 [邪恶]

    校验提示文案

    提交
  • 如果是 QuTS hero 就没有这个问题,反正 zfs 同一份文件复制多个不增加空间

    校验提示文案

    提交
  • 可以进一步改进脚本,多送一个%L值,根据qbit分类用if判断一步到位把硬连接做到指定的刮削目录

    校验提示文案

    提交
    大佬,能否详细解释一下?

    校验提示文案

    提交
    收起所有回复
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
215
扫一下,分享更方便,购买更轻松