静看光阴荏苒
不管不顾不问不说也不念

Auto Remove Torrents:自动删种程序部署

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

一般情况下,会回显给你如下图类似的提示(如果没有就说明你已经安装好了,可以忽略):

此时,编辑账户配置文件:

vi ~/.bash_profile

比如我之前上图中的内容是这些(这些内容可能每台机器都不一样):

export PATH="/root/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

就把这些内容复制粘贴到.bash_profile文件内:

然后使其生效:

source ~/.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-devel

然后就可以使用pyenv来安装Python了,先来查看一下当前的Python最新版本号:

pyenv install -l

如图所示,3.7.0是目前的稳定版本:

那么我们就直接安装这个版本(这个安装过程略长,取决于你机器的性能,耐心等待):

pyenv install 3.7.0

如果安装成功,那么执行命令:

pyenv versions

如图所示可以看到当前系统内会多出一个3.7.0版本的Python:

然后我们执行如下命令,将3.7.0版本的Python设置为全局使用:

pyenv global 3.7.0

这样系统就完美的把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的配置文件:

vi config.yml

这里我给出一个我自己用的:

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格式来编写,更具体的参考这里:

https://github.com/jerrymakesjelly/autoremove-torrents/wiki/%E4%B8%BB%E9%A1%B5#%E5%A6%82%E4%BD%95%E7%BC%96%E5%86%99%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6

现在你可以在你的BT客户端内下载几个种子用于测试,等待种子删除条件满足后,执行命令:

autoremove-torrents

如下图所示,可以看到我这边执行后满足条件的种子就被删除了(包括种子下载的数据):

确定程序可以正常工作后,添加计划任务:

crontab -e

写入:

*/15 * * * * /usr/bin/autoremove-torrents --conf=/root/config.yml

注:执行时间可以根据自己的需要来更改。

最后重启crond服务:

systemctl restart crond.service

至此,autoremove-torrents的部署就全部完成了。

赞(0)
未经允许不得转载:荒岛 » Auto Remove Torrents:自动删种程序部署
分享到: 更多 (0)

评论 5

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    我是在黑群里安装的autoremove-torrents,参考了你的命令pip install autoremove-torrents直接安装成功了。但是后面2步骤没有找到,1 将安装好的程序复制到/usr/bin/:这一步我没有找到在哪里?如果不复制有没有影响呢?2,config.yml这个文件是在那个目录下?我没有进行1复制的话,直接编写这个配置文档能行吗?

    cdyehl6年前 (2018-10-16) Google Chrome 68.0.3440.75 Google Chrome 68.0.3440.75 Windows 7 x64 Edition Windows 7 x64 Edition回复
    • 抱歉我不是很了解黑群晖都是什么系统,如果你能直接pip安装成功,那你就随便在哪个目录内执行autoremove-torrents看能不能运行,如果不能运行那你用find / -name autoremove-torrents查找一下这个程序的绝对路径。config.yml保存在哪里都无所谓,只要你运行autoremove-torrents的时候加上config.yml的绝对路径就行了。

      LALA5年前 (2018-10-17) Google Chrome 67.0.3396.99 Google Chrome 67.0.3396.99 Windows 10 x64 Edition Windows 10 x64 Edition回复
      • 那好吧,这个我自己想办法。请教一下配置文件,我有三个硬盘,TR下载的时候3个盘都有下载和做种的情况,但是这个自动删除的动作我只想它针对某一个硬盘进行删除。因为我RSS自动订阅下载也是同一个硬盘。这个该怎么写呢?

        cdyehl5年前 (2018-10-18) Google Chrome 68.0.3440.75 Google Chrome 68.0.3440.75 Windows 10 x64 Edition Windows 10 x64 Edition回复
        • 你可能需要问一下这个程序的作者:https://github.com/jerrymakesjelly/autoremove-torrents

          LALA5年前 (2018-10-18) Google Chrome 67.0.3396.99 Google Chrome 67.0.3396.99 Windows 10 x64 Edition Windows 10 x64 Edition回复

分享创造快乐

广告合作资源投稿