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

[盒子/seedbox] 实现Transmission排队下载和崩溃后自动恢复

1876 5
发表于 2011-4-10 10:00:24 | 查看全部 阅读模式

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

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

×
1.首先安装gawk,后面会用到。(我M880内置awk功能不全,所以要安装gawk,如果其他机型可能不需要gawk)
ipkg update
ipkg install gawk

2.编写排队脚本,如下
vi /opt/bin/transmission_queue.sh
按i键盘输入以下内容
  • #!/bin/sh
  • #Created by Wenl
  • #Set the number of the maximum downloading tasks
  • MAXDONLOADING="1"
  • #Set the number of the maximum seeding tasks
  • MAXSEEDING="5"
  • #Set the command
  • COMMAND="transmission-remote 127.0.0.1:9091 --auth=root:toor"
  • #Launch transmission if it's down
  • if [ $(ps|grep transmission-daemon|wc -l) -le 1 ]; then
  •   /opt/etc/init.d/S50transmission
  • fi
  • #Limit the seeding tasks to the setting
  • while [ $($COMMAND -l | grep 100%|grep -v Stopped| wc -l) -gt $MAXSEEDING ]
  • do
  •   SEED_ID="$($COMMAND -l | grep 100%|grep -v Stopped| head -n 1|gawk '{ print $1; }')"
  •   $COMMAND --torrent $SEED_ID --stop > /dev/null
  •   sleep 3
  • done
  • #Free the downloading tasks to the setting
  • while [ $($COMMAND -l|grep -v Stopped|grep -v 100%|grep -v ID|grep -v Sum|wc -l) -lt $MAXDONLOADING ]
  • do
  •   if [ $($COMMAND -l|grep Stopped|grep -v 100%|grep -v ID|wc -l) -gt 0 ]; then
  •     DOWNLOAD_ID="$($COMMAND -l|grep Stopped|grep -v 100%|grep -v ID|head -n 1|gawk '{ print $1; }')"
  •     $COMMAND --torrent $DOWNLOAD_ID --start > /dev/null
  •     sleep 4
  •   else
  •     break
  •   fi
  • done
  • #Reduce the downloading tasks to the setting
  • while [ $($COMMAND -l|grep -v Stopped|grep -v 100%|grep -v ID|grep -v Sum|wc -l) -gt $MAXDONLOADING ]
  • do
  •   DOWNLOAD_ID="$($COMMAND -l |grep -v Stopped|grep -v 100%|grep -v ID|grep -v Sum|tail -n 1|gawk '{ print $1; }')"
  •   $COMMAND --torrent $DOWNLOAD_ID --stop > /dev/null
  •   sleep 4
  • done

复制代码
按esc键输入:wq保存退出。
脚本文件贴这里了,可以直接用。


注意变量COMMAND,请改为你自己的端口号和账号密码。如果未设置鉴权模式,可把参数--auth=root:toor -l去掉。
MAXDONLOADING="1" 是设定最大下载数,默认为1
MAXSEEDING="5" 是设定最大做种数,默认为5
可以自行更改这2个参数。

3. 将这段脚本放入cron让其定时执行
没有安装cron的先用ipkg安装,指令如下
ipkg update
ipkg install cron
安装好后执行:
crontab -e
加入这一行
*/30 * * * * /opt/bin/transmission_queue.sh
按esc输入:wq退出。
默认是30分钟执行一次。如果想修改间隔时间,改*/30,把30改成其他的就可以了,默认是分钟。

在transmission remote添加所有任务都全部暂停住,只留一两个下载的。之后控制就由脚本自动完成。

4. 为了方便开关队列下载,写两个脚本
vi /opt/bin/tr_queue_stop
  • #!/bin/sh
  • mv /opt/bin/transmission_queue.sh /opt/bin/transmission_queue.sh.bak

复制代码
vi /opt/bin/tr_queue_start
  • #!/bin/sh
  • mv /opt/bin/transmission_queue.sh.bak /opt/bin/transmission_queue.sh

复制代码
附上可执行权限
chmod +x /opt/bin/tr_queue_stop
chmod +x /opt/bin/tr_queue_start
以后想打开排队下载就执行指令:tr_queue_start
想关闭这个功能就执行:tr_queue_stop

评论5

zhangweibo 发表于 2011-4-10 11:16:15 | 查看全部
这个脚本比较适合高清播放机或者下载机,因为硬件不强,造成负载太大,会经常崩溃,一般的台式机或者服务器,或者vps,一般不会崩溃,我在我的vps做的tr,已经43天没崩溃了
回复 点赞

使用道具 举报

gaodi0107@2 发表于 2011-4-15 10:38:15 | 查看全部
回复 2# zhangweibo

有没有能实现自定义先后下载顺序的插件?
回复 点赞

使用道具 举报

ffrank@2 发表于 2011-4-15 10:48:14 | 查看全部
我的NAS用的是Transmission,进来学习一下。但貌似我的从没崩溃过
回复 点赞

使用道具 举报

hothduserLv.4 发表于 2011-4-15 14:28:36 | 查看全部
呃,用路由器挂,貌似从来没崩溃过。。。。。
估计崩溃也是out of memory吧~

回复 点赞

使用道具 举报

why871 发表于 2011-4-16 21:34:48 | 查看全部
wzr-hp-g300nh+openwrt(trunk)+transmission,24/7 10-20连接 一直很稳定
回复 点赞

使用道具 举报

回复

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

本版积分规则

淘宝小店

邀请码

VIP会员

微信客服

公众号

微信群

投诉/建议联系

support@gebi1.cn

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