【无灯+Hiboy】padavan下自动更新aria2的BT tracker 服务器列表
本帖最后由 Wildest_Dreams 于 2018-12-21 20:00 编辑
首先,在`/etc/storage`目录创建`trackers_list_aria2.sh`
在其它目录重启就会丢失脚本!
在其它目录重启就会丢失脚本!
在其它目录重启就会丢失脚本!
荒野无灯版请输入以下代码:
- #!/bin/bash
- /usr/bin/aria.sh 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" /mnt/aria/config/aria2.conf`" ]; then
- sed -i '$a bt-tracker='${list} /mnt/aria/config/aria2.conf
- echo 添加"bt-tracker="前缀...
- else
- sed -i "s@bt-tracker.*@bt-tracker=$list@g" /mnt/aria/config/aria2.conf
- echo 升级完成...
- fi
- /usr/bin/aria.sh restart
复制代码
给脚本给777权限
- chmod 7777 /etc/storage/trackers_list_aria2.sh
复制代码
测试(这里的目录不对,不要照着抄)
Hiboy版请输入以下代码:
- #!/bin/bash
- /usr/bin/aria.sh 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" /etc/storage/aria2_conf.sh`" ]; then
- sed -i '$a bt-tracker='${list} /etc/storage/aria2_conf.sh
- echo 添加"bt-tracker="前缀...
- else
- sed -i "s@bt-tracker.*@bt-tracker=$list@g" /etc/storage/aria2_conf.sh
- echo 升级完成...
- fi
- /usr/bin/aria.sh restart
复制代码
测试
如果有提示
- syntax error: unexpected end of file (expecting "then")`
复制代码
则输入命令
- dos2unix /etc/storage/trackers_list_aria2.sh
复制代码
将windows的换行符转换为unix换行符即可
最后在 系统管理 — Crontab 里设置每天4点半更新 (参考了@co1q84 的 【分享】下载宝aria2自动更新tracker脚本】 )
- 30 4 * * * /etc/storag/trackers-list-aria2.sh &>/dev/null 2>&1
复制代码
hiboy的似乎要在自定义 Crontab 定时任务里配置,系统管理中的 Crontab 计划任务重启会丢失
<s>
最后在定时任务中设置每6小时更新一次(时间自己调)
- 0 */6 * * * * /etc/storage/trackers-list-aria2.sh
复制代码
</s>
特别吐槽!趁着hiboy大佬推出了新鲜的512m的K2P固件,赶紧从无灯那边过来兴冲冲刷上,结果给aria2更新bt-tracker的时候
每次我运行脚本就提示我
umount: can't unmount /mnt/aria/config/aria2.conf: Invalid argument
Starting Aria2:.umount: can't unmount /mnt/aria/config/aria2.conf: Invalid argument
我花了一夜的时间,把硬盘重新分区又格式化,百度搜完谷歌搜 umount错误的原因、linux 报错 Invalid argument....
想破脑袋都不明白重启一个为啥aria2要把硬盘卸载了再挂载硬盘
最后忍不住要睡的时候打开/usr/bin/aria2.sh 看了一眼
差点没吐出血来!
hiboy的固件有两个aria2.conf,一个是/etc/storage里的aria2_conf.sh , 一个是/mnt/aria/config的aria2.conf
每次aria2重启/路由器重启,系统都会对比两个conf , 不一样就把内存里的conf拷贝到硬盘里去(猜测是为了防止更换硬盘导致的conf文件不一致,可以说hiboy想到非常周到了)
但是我万万没想到的是Hiboy大佬用来防止/mnt/的conf文件占用问题,用了umount和mount命令
这两个命令报错没什么, 主要目的应该是为了防止文件占用 ,可是替换的那段代码是正常运行的 没有提示的
我循着“Invalid argument”的报错提示百度了半天,蓦然回首,这货特喵的根本就不是我要找的报错提示
所以hiboy固件的aria2 bt-tracker 更新解决方案就是管你硬盘里什么牛鬼蛇神conf , 直接无脑更新/etc/storage里的conf就完事了,aria2重启的时候会把storage里的conf同步到硬盘里去
就是把无灯的代码里的"/mnt/aria/config/aria2.conf"换成"/etc/storage/aria2_conf.sh".....
就是这么简单到令人发指的啊我特喵竟然能用一夜找这个问题真是蠢到家了啊
参考链接:
1.[Aria2自动更新BT Tracker服务器列表的方法](https://www.moerats.com/archives/374/)
2.[Aria2 bt-tracker跟踪服务器列表自动更新](https://www.feng.ee/aria2-trackers-auto-update.html)
3.[syntax error: unexpected end of file (expecting "then")解决方案](http://www.51testing.com/html/44/15047444-3723707.html)