说明
公开的BT tracker服务器,因为种种原因总会经常失效,要想获取更多的peer需要经常维护这份列表。感谢github上的小伙伴提供了这么一份tracker自动更新列表:trackerslist。我们要想Aria2也支持自动更新这份列表,那么你可以按照下面方法来实现。
方法
此文仅适用于Centos系统,其它系统稍作变更即可。我没有使用过其它系统,这里也就不提供兼容性的脚本了。
示例:Aria2安装路径:/root/aria2 Aria2配置文件路径:/root/.aria2/aria2.conf
请修改脚本文件中对应的路径 请修改脚本文件中对应的路径 请修改脚本文件中对应的路径。
1、首先将aria2配置成系统服务
#安装组件
yum install -y psmisc
#编辑aria2文件
vi /etc/init.d/aria2
#添加以下代码
DAEMON=/root/aria2/bin/aria2c
case "$1" in
start)
echo "Starting aria2c"
nohup $DAEMON -c > /root/.aria2/aria2.log 2>&1 &
;;
stop)
echo "Shutting down aria2c"
killall aria2c &>/dev/null
;;
restart)
killall aria2c &>/dev/null
sleep 3
nohup $DAEMON -c > /root/.aria2/aria2.log 2>&1 &
;;
*)
echo "Usage: /etc/init.d/aria2 {start|stop|restart}"
exit 1
;;
esac
exit
#授权aria2文件
chmod 7777 /etc/init.d/aria2
操作命令:
service aria2 stop #停止aria2
service aria2 start #启动aria2
service aria2 restart #重启aria2
2、Aria2 bt-tracker 列表的更新,需要重启aria2才会生效
#编辑脚本
vi /root/trackers-list-aria2.sh
#添加以下代码
#!/bin/bash
/usr/sbin/service aria2 stop
list=`wget -qO- https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_all.txt|awk NF|sed ":a;N;s/\n/,/g;ta"`
if [ -z "`grep "bt-tracker" /root/.aria2/aria2.conf`" ]; then
sed -i '$a bt-tracker='${list} /root/.aria2/aria2.conf
echo add......
else
sed -i "s@bt-tracker=.*@bt-tracker=$list@g" /root/.aria2/aria2.conf
echo update......
fi
#授权脚本
chmod +x /root/trackers-list-aria2.sh
3、使用crontab任务计划程序,实现自动更新
crontab -e #添加定时任务,如以下2个
每30分钟更新一次tracker列表(实际不需要这么频繁 你可以自己定义更新频率)
*/30 * * * * /root/trackers-list-aria2.sh
每5分钟启动一次aria2,防止aria2崩了
*/5 * * * * /usr/sbin/service aria2 start
爱玩吧 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:[教程]Aria2自动更新BT Tracker服务器列表的方法