分享

【新提醒】NAS Aria2的安装及远程下载的实现 多处理器通用教程

 doctor_刘 2018-08-21
 本帖最后由 diksonhe 于 2016-5-7 23:16 编辑

我来对最后一个问题来补充一下,最后一个问题就是Aria2服务不能开机自启动,看了http://www./qnap/qnap-aria2-download-manager/的帖子后做了些测试,重启NAS后随机启动Aria2服务,再也不登录ssh敲命令了。平时也可以关闭SSH,安全一点。
1.把那个英文帖子搬过来就可以,稍微补充点自己的办法。
怎样实现自启动首先要配置NAS的启动文件:
  1. /etc/.config/qpkg.conf
复制代码
qpkg.conf要用linux下的vi vim nano这些文本编辑器去写一下内容就好了,但写起来比较麻烦,你有不了解操作命令肯定写不好,对吧!还得学linux,nano安装还要翻墙。有个简单的办法就是去用WinSCP 登录SFTP然后去编辑保存。




在弹出的文本编辑器里在文件的最下面加入如下内容:
  1. [Aria2]
  2. Name = Aria2
  3. Version = 1.18.7
  4. Author = zyxmon
  5. Date = 2015-09-02
  6. Shell = /share/CACHEDEV1_DATA/.qpkg/Aria2/autorun.sh
  7. Install_Path = /share/CACHEDEV1_DATA/.qpkg/Aria2
  8. RC_Number = 101
  9. Enable = TRUE
  10. Status = complete
复制代码
CACHEDEV1_DATA注意红色的部分每台机器不一样,改成你的磁盘名。写好以后保存关闭文件,不要关闭winscp后面还要用。当然路径里的autorun.sh脚本还没写呢,不存在,只是先写一下nas启动文件而已。下面继续路径: /share/XXXXX_DATA/.qpkg/
去这个目录下面建个文件夹设置权限为755. 按F7新建文件夹Aria2,这个文件夹放置autorun.sh脚本。


目录建好后进入Aria2文件夹新建脚本文件


新建好了空白文件名为autorun.sh 写入如下内容:
  1. #!/bin/sh
  2. aria2c --enable-rpc=true --rpc-listen-all=true --rpc-allow-origin-all --dir=/share/Download/Aria2 --file-allocation=none -s 5 -j 3 -x 5 -c -D
复制代码


如果机器提示找不到aria2c 命令提示加入绝对路径:/share/CACHEDEV1_DATA/.qpkg/Entware/bin/
  1. #!/bin/sh
  2. /share/CACHEDEV1_DATA/.qpkg/Entware/bin/aria2c --enable-rpc=true --rpc-listen-all=true --rpc-allow-origin-all --dir=/share/Download/Aria2 --file-allocation=none -s 5 -j 3 -x 5 -c -D
复制代码

写好了以后保存退出编辑。红色的部分再次提示要改成你机器的磁盘名,后面不在提示。
写好了检查脚本是否有错,怎么搞?去打开putty登录ssh来看看
登录后首先去把aria2进程给杀掉或者去webui下shutdown server


putty 杀掉aria2的命令:
  1. killall aria2c
复制代码
杀好了进程把autorun.sh变成可执行文件,执行如下命令:
  1. chmod +x /share/CACHEDEV1_DATA/.qpkg/Aria2/autorun.sh
复制代码
然后运行一下脚本,如下命令
  1. /share/CACHEDEV1_DATA/.qpkg/Aria2/autorun.sh
复制代码
没有报错,就说明脚本没有问题,你可以放心了,因为服务重新启动了,webui就不会出现红色警告条,如果红色警告没有消失去看一下服务设置端口号。
看看你的服务重启了,查看进程的命令如下:虚线以下部分为显示内容不是命令。当然不会是这样的内容这只是例子而已。
  1. ps -ax | grep aria
  2. ===================
  3.   831 admin      2296 S   aria2c --enable-rpc --rpc-listen-all=true --rpc-allow
  4.   837 admin       280 S   grep aria
复制代码

以上操作主要是

1.建立了一个文件夹,
2.改写了qpkg.conf,
3.新建并编辑了autorun.sh,
4.检查脚本。

接下来你重启机器,结果是怎样?我来告诉你是失败的。服务没有启动,我来告诉你关键点。
重启后你首先去登录putty登录后执行查看进程命令
  1. ps -ax | grep aria
复制代码
会有如下面显示的一个aria2c的进程,但不是autorun.sh脚本,我这里是手写不贴图了,因为我懒。
  1. aria2c --conf-path=/opt/etc/aria2.conf
复制代码
先去把进程杀掉再登录winscp去改名,路径为:/opt/etc/aria2.conf
你是去putty里敲命令把这个aria2.conf改名,还是去winscp上把文件改名随便你了,关键就是让文件消失掉


这里我把aria2.conf改名为aria2.conf.bak,以后万一还要用不用重新写。改好了以后,你重新启动机器,Aria2服务就自动启动了,启动后可以关闭SSH,防止被黑。

为什么会出现上述问,关键是Aria2的启动机制,一般linux服务启动都是通过.conf文件来执行的,而不是启动脚本.sh ,为什么你每次敲了命令关机重启就会没有了,因为你启动命令后有一个"-D",看到没有命令的最后一行是个-D,这是驻留在后台的参数,每次启动机器就像重启电脑一样,命令全部被清空,当然就不会去执行命令了,正确的启动方式是配置conf而不是写一行命令,现在的方法是把你要写的命令写成一个bat脚本每次启动自己执行驻留到后台而已,和正常的conf启动是不一样的,也比较初级。


好了我就总结一下笨办法,怎么去配置conf自启动,网上有很多文章,可以看,我自己也在研究,还没有成功,但机制我理解了,希望你们能找到更好的方法与我分享,我先谢谢大家。








补充内容 (2017-9-11 20:43):
我要编辑这个帖子,为何不能了?

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多