autoremove-torrents 是一个用 Python3 写的自动删除种子的程序,目前支持 qBittorrent/Transmission/μTorrent 客户端。
经常挂 PT 的可能都常遇到这种问题:服务器硬盘又不够用了!这时候,我们就可以用这个 autoremove-torrents 来帮助我们自动删除那些不想要的种子和数据,autoremove-torrents 可以根据你编写的删除条件来执行各种删除操作。
除此之外,将 autoremove-torrents/qBittorrent/FlexGet 这三款工具整合一下,你可以搭建出一个完全自动化的刷 PT 盒子。即自动下载种子 / 自动做种 / 自动删种。当然这个一条龙服务不在今天的讨论范围内。。。
这篇文章详细写一下 CentOS7 下部署 autoremove-torrents。
因为 autoremove-torrents 需要 Python3 的支持,而 CentOS7 默认的 Python 还是 2.7.5,所以我们第一件事就是想办法把 Python 版本升级,但升级 CentOS7 默认的 Python 并不是一件容易的事情,你会发现即便你升级成功了,也可能会出现各种各样的玄学问题,甚至有时候还会导致 yum 不能正常使用。
综合上述所说,这里我给大家推荐一个 Python 版本管理神器:pyenv,其实这玩意之前部署某 SS 面板的时候就介绍过。
使用 pyenv 你可以轻松在 CentOS7 系统内部署多个 Python 版本,并且可以无缝切换,你还可以把任意 Python 版本设置为系统全局使用。废话就不多说了,我们先把 pyenv 安装一下:
cd
yum -y install git
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
一般情况下,会回显给你如下图类似的提示(如果没有就说明你已经安装好了,可以忽略):
此时,编辑账户配置文件:
比如我之前上图中的内容是这些(这些内容可能每台机器都不一样):
export PATH="/root/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
就把这些内容复制粘贴到. bash_profile 文件内:
然后使其生效:
这样永久的环境变量就设置好了,如果你只是临时需要的话,可以直接在当前 shell 中执行这三条命令,但断开 ssh 后就会失效。
接着我们来安装 Python 所需要的依赖:
yum -y install gcc make zlib zlib-devel readline readline-devel readline-static openssl openssl-devel openssl-static sqlite-devel bzip2-devel bzip2-libs
注意,如果你安装 Python3.7 则需要额外装一个依赖,否则无法安装成功:
yum -y install libffi-develv
然后就可以使用 pyenv 来安装 Python 了,先来查看一下当前的 Python 最新版本号:
如图所示,3.7.0 是目前的稳定版本:
那么我们就直接安装这个版本(这个安装过程略长,取决于你机器的性能,耐心等待):
如果安装成功,那么执行命令:
如图所示可以看到当前系统内会多出一个 3.7.0 版本的 Python:
然后我们执行如下命令,将 3.7.0 版本的 Python 设置为全局使用:
这样系统就完美的把 Python 版本升级(切换)到了 Python3,如图所示:
现在我们就可以用一条命令来安装 autoremove-torrents 了:
pip install autoremove-torrents
将安装好的程序复制到 / usr/bin/:
cp /root/.pyenv/versions/3.7.0/bin/autoremove-torrents /usr/bin/autoremove-torrents
接着编写 autoremove-torrents 的配置文件:
这里我给出一个我自己用的:
my_task:
client: qbittorrent
host: http://127.0.0.1:23333
username: admin
password: adminadmin
strategies:
strategy1:
all_categories: true
seeding_time: 10800
delete_data: true
配置文件需要按照 YAML 格式来编写,更具体的参考这里:
现在你可以在你的 BT 客户端内下载几个种子用于测试,等待种子删除条件满足后,执行命令:
如下图所示,可以看到我这边执行后满足条件的种子就被删除了(包括种子下载的数据):
确定程序可以正常工作后,添加计划任务:
写入:
*/15 * * * * /usr/bin/autoremove-torrents --conf=/root/config.yml
注:执行时间可以根据自己的需要来更改。
最后重启 crond 服务:
systemctl restart crond.service
至此,autoremove-torrents 的部署就全部完成了。