扫描二维码关注官方公众号
返回列表 发布新帖

[盒子/seedbox] 怎么在ovh5g中实现30分钟自动清理已完成的种子

2651 18
发表于 2012-10-6 00:02:00 | 查看全部 阅读模式

来吧兄弟,一起玩一起讨论!

您需要 登录 才可以下载或查看,没有账号?注册

×
请教各位高手,怎么在ovh5g的盒子中实现下面三点(机器装了ubuntu系统、deluge和flexget的):
1、每10分钟检测一次硬盘写满溢出并清除溢出种子释放资源,同时自动解锁Flexget。
2、30分钟自动清理已完成的种子释放硬盘空间,正在下载的种子不受影响。
3、每天北京时间2点55分自动重启VPS释放资源,防止长时间运行资源耗尽。完美实现7×24小时全自动运行。
请各位高手帮帮忙,在什么系统条件不要紧,最重要是下载器是deluge。谢谢了!!!

评论18

crosskenLv.8 发表于 2012-10-6 00:05:27 | 查看全部
太高端了 俺只会手动...{:7_725:}
回复 点赞

使用道具 举报

张轩逸Lv.9 发表于 2012-10-6 00:06:16 | 查看全部
这个要求真高。。。
回复 点赞

使用道具 举报

A酱Lv.10 发表于 2012-10-6 00:07:17 | 查看全部
这个只能等大神了{:7_725:}
回复 点赞

使用道具 举报

落埖涙尐柒Lv.9 发表于 2012-10-6 00:07:35 | 查看全部
这个我也想知道{:7_754:}
回复 点赞

使用道具 举报

飞刀手@2Lv.8 发表于 2012-10-6 00:18:22 | 查看全部
LZ就这么舍不得HDC的那2000积分?
回复 点赞

使用道具 举报

jaychousLv.10 发表于 2012-10-6 00:19:53 | 查看全部
此脚本专为5G小盒而生。
将此脚本保存在/root/autoclean.py 下,运行crontab -e
加1行
*/1 * * * * /usr/bin/python /root/autoclean.py
即可每分钟执行一次。
配置说明:
MAX_WAIT_TIME = x x代表x分钟不活动后就删种
MIN_UPLOAD_SPEED = x * 1024 x 代表上传速度小于x kb就认为种子不活动
此脚本同时也会删除Queued 和 Error这两种状态的种子。
  1. from deluge.ui.client import client
  2. from twisted.internet import reactor
  3. from twisted.internet import defer
  4. from deluge.log import setupLogger
  5. import json
  6. import time

  7. MAX_WAIT_TIME = 10
  8. MIN_UPLOAD_SPEED = 50 * 1024
  9. db = {}

  10. def donothing(status):
  11.   return status

  12. def on_get_torrents_status(torrents_status):
  13.         global db
  14.         global MAX_WAIT_TIME
  15.         global MIN_UPLOAD_SPEED
  16.         tlist = []
  17.         for torrent_id in torrents_status:
  18.             torrent_info = torrents_status[torrent_id]            
  19.             if torrent_info['state'] == 'Seeding':
  20.                 if not db.has_key(torrent_id):
  21.                     db[torrent_id] = 0
  22.                 if torrent_info['upload_payload_rate'] < MIN_UPLOAD_SPEED:
  23.                     db[torrent_id] = db[torrent_id] + 1
  24.                 else:
  25.                     db[torrent_id] = 0
  26.                 if db[torrent_id] > MAX_WAIT_TIME:
  27.                     db.pop(torrent_id)
  28.                     tlist.append(client.core.remove_torrent(torrent_id, True).addCallback(donothing))
  29.             if  torrent_info['state'] == 'Queued':
  30.                     tlist.append(client.core.remove_torrent(torrent_id, True).addCallback(donothing))
  31.             if  torrent_info['state'] == 'Error':
  32.                     tlist.append(client.core.remove_torrent(torrent_id, True).addCallback(donothing))
  33.         if len(tlist) > 0:
  34.                 defer.DeferredList(tlist).addCallback(Cleanup)
  35.                 time.sleep(3)
  36.         else:
  37.                 Cleanup(True)

  38. def Cleanup(status):
  39.         global db
  40.         client.disconnect()
  41.         try:
  42.           f = open('autoclean.db', 'w')
  43.           f.write(json.dumps(db))
  44.           f.close()
  45.         except:
  46.           db = {}
  47.         reactor.stop()

  48. def on_connect_success(result):       
  49.     client.core.get_torrents_status(None,
  50.         ['id', 'name', 'state', 'ratio', 'progress', 'upload_payload_rate', 'total_seeds', 'total_peers']).addCallback(on_get_torrents_status)

  51. def on_connect_fail(result):
  52.     print "Connection failed!"
  53.     print "result:", result

  54. setupLogger()
  55. try:
  56.   f = open('autoclean.db', 'r')
  57.   db = json.loads(f.readlines()[0])
  58.   f.close()
  59. except:
  60.   db = {}   
  61. d = client.connect()
  62. d.addCallback(on_connect_success)
  63. d.addErrback(on_connect_fail)
  64. reactor.run()
复制代码
来自HDC豪门区

可供参考



试一试,看看可不可行。  详情 回复
发表于 2012-10-6 00:44
诸位前辈都潜水不说话了,而我终于也走到那一步了
回复 点赞

使用道具 举报

nfrt8020 发表于 2012-10-6 00:51:05 | 查看全部
jaychous 发表于 2012-10-6 00:19
此脚本专为5G小盒而生。
将此脚本保存在/root/autoclean.py 下,运行crontab -e
加1行

真牛,还真有这样的呀
回复 点赞

使用道具 举报

wasd77008800Lv.6 发表于 2012-10-6 00:54:32 | 查看全部
本帖最后由 wasd77008800 于 2012-10-6 01:23 编辑

话说HDC豪门区 在哪
回复 点赞

使用道具 举报

ansLv.5 发表于 2012-10-6 01:20:22 | 查看全部
好高端
回复 点赞

使用道具 举报

samwu995Lv.5 发表于 2012-10-6 01:34:35 | 查看全部
好強{:7_727:}{:7_727:}{:7_727:}{:7_727:}
回复 点赞

使用道具 举报

tives 发表于 2012-10-6 08:34:21 | 查看全部
还差个 flexget自动获取rss连接。
我觉得应该再添加个脚本,检测硬盘容量,保证有足够空间让种子文件能下载到OVH上。
然后deluge实时检测下载目录,每当文件被脚本删除以后,保证新下的种子文件能执行下载{:7_734:}这样就完美了吧。。。
回复 点赞

使用道具 举报

ahuanhappy@2Lv.5 发表于 2012-10-6 09:06:43 | 查看全部
这个真是高科技了~
回复 点赞

使用道具 举报

knightsy@2Lv.5 发表于 2012-10-6 11:01:03 | 查看全部
jaychous 发表于 2012-10-6 00:19
此脚本专为5G小盒而生。
将此脚本保存在/root/autoclean.py 下,运行crontab -e
加1行

我一直没搞懂,这么长的脚本,也要像申请盒子教程里面那几条一样,复制一行回车一下嘛?还是直接点下面的复制代码,一次性黏贴回车啊?
回复 点赞

使用道具 举报

jaychousLv.10 发表于 2012-10-6 11:39:39 | 查看全部
wasd77008800 发表于 2012-10-6 00:54
话说HDC豪门区 在哪

你到编剧级别就能看见了
诸位前辈都潜水不说话了,而我终于也走到那一步了
回复 点赞

使用道具 举报

shizhongda 发表于 2012-10-6 16:33:37 | 查看全部
这贴让我很无语{:7_738:}
回复 点赞

使用道具 举报

mikeyoung92Lv.5互助团队 发表于 2012-10-21 15:06:41 | 查看全部
真是太強了
這行動不得了!!
回复 点赞

使用道具 举报

la743 发表于 2012-10-21 15:59:17 | 查看全部
什么事豪门区????
回复 点赞

使用道具 举报

宝宝之恋Lv.3 发表于 2012-10-21 17:49:12 | 查看全部
进来学习一下
回复 点赞

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

淘宝小店

邀请码

VIP会员

微信客服

公众号

微信群

投诉/建议联系

support@gebi1.cn

未经授权禁止转载,复制和建立镜像,
如有违反,追究法律责任
  • 关注公众号
  • 添加微信客服
Copyright © 2001-2024 隔壁网 版权所有 All Rights Reserved. 粤ICP备14056481号-1
关灯 在本版发帖
扫一扫添加微信客服
返回顶部
快速回复 返回顶部 返回列表