找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 13366|回复: 28

NAS、路由器用迅雷远程下载Xware 1.0 进程监视、掉线、自动重启方法及脚本

  [复制链接]
发表于 2015-11-19 15:34 | 显示全部楼层 |阅读模式
本帖最后由 zcjschina 于 2015-11-25 13:20 编辑

2015-11-19 更新一下:简化代码
--------------------------------------------------------------------------------------------------------
迅雷远程下载Xware1.0运行时共有三个进程常驻后台:ETMDaemon、EmbedThunderManager、vod_httpserver,如下图:

要保证迅雷远程下载功能正常,三个进程都必须在,为防止进程跑死可通过定时检查进程是否存在以保证远程下载功能正常。
经测试:只要ETMDaemon进程存在,另外两个进程EmbedThunderManager、vod_httpserver就会自动重启,所以只要定时检查ETMDaemon进程是否存在,若不存在,重启迅雷/mnt/sda3/xunlei/portal 。
实现方法如下:
注意:笔者是在自己硬件上面测试的,测试时迅雷运行时只有三个进程,有坛友反映运行有10个进程,请坛友根据自己的运行情况修改下面脚本里面的“3”。或者直接用检测ETMDaemon 教程这个方法;
1、任意位置新建一个文件check_xunlei.sh,并配置权限,如:(有可能bin下面没有权限创建,可以创建到xunlei下面)
  1. cd /bin
  2. touch check_xunlei.sh
  3. chmod 777 check_xunlei.sh
复制代码
2、利用vi 编辑器,或者直接用WinSCP编辑check_xunlei.sh,代码如下:
  1. #!/bin/sh
  2. printf "--------------------------Thunder Checking Start !-----------------------------\n"
  3. num=`ps | grep ETMDaemon | grep -v grep | grep -v check | wc -l`  # 计算进程数
  4. if [ $num -lt 1 ]                                                 # 判断ETMDaemon进程是否存在
  5. then /mnt/sda3/xunlei/portal                                      # 重启进程的命令,请相应修改
  6. fi
  7. printf "--------------------------Thunder Checking Over  !-----------------------------\n"
复制代码
3、添加计划任务每10分钟执行一次
  1. */10 * * * * sh /bin/check_xunlei.sh
复制代码
-------------------------------------------------------------------------分割线---------------------------------------------------------------------------
更保险的做法:3个进程只要有一个掉线就重启迅雷Xware。
步骤相同,check_xunlei.sh多增加几行代码;注意迅雷程序需要放在“xunlei”文件夹里,因为这里是靠检索“xunlei”关键字来计算进程数的。
  1. #!/bin/sh
  2. printf "--------------------------Thunder Checking Start !-----------------------------\n"
  3. num=`ps | grep xunlei | grep -v grep | grep -v check | wc -l`  # 计算进程数
  4. if [ $num -lt 3 ]                                              # 判断进程是否存在
  5. then /mnt/sda3/xunlei/portal                                     # 重启进程的命令,请相应修改
  6. fi
  7. printf "--------------------------Thunder Checking Over  !-----------------------------\n"
复制代码

2015-11-21 更新一下:增加进程监视日志,有兴趣的可以试一下:
  1. #!/bin/sh
  2. file_name="/mnt/sda3/xunlei/xl.log"     #这是日志路径,请自行修改;
  3. echo -e '\n'"脚本运行时间:"`date` >> $file_name
  4. echo -e "---------------------------------Check Start----------------------------------" >> $file_name
  5. echo -e "当前进程状态:" >> $file_name
  6. ps | grep xunlei | egrep -v 'grep|check' >> $file_name
  7. num=`ps | grep xunlei | egrep -v 'grep|check' | wc -l`  # 计算进程数
  8. echo -e "迅雷进程数为:"$num >> $file_name
  9. if [ $num -lt 3 ]                                              # 判断进程是否存在
  10. then
  11.       echo -e "迅雷运行状态:Not OK" >> $file_name
  12.       /mnt/sda3/xunlei/portal                                     # 重启进程
  13.       sleep 10
  14.       num1=`ps | grep xunlei | egrep -v 'grep|check' | wc -l`  # 计算进程数
  15.       if [ $num1 -eq 3 ]
  16.       then
  17.            echo -e "迅雷进程重启:OK"  >> $file_name
  18.            ps | grep xunlei | egrep -v 'grep|check' >> $file_name
  19.       else
  20.            echo -e "迅雷进程重启:Not OK"  >> $file_name
  21.            echo -e "等待下一周期重启"  >> $file_name
  22.       fi           
  23. else
  24.       echo -e "迅雷运行状态:OK" >> $file_name
  25. fi
  26. echo -e "---------------------------------Check Over------------------------------------" >> $file_name
复制代码
生成的日志文件如下:

脚本运行时间:Fri Nov 20 14:10:01 CST 2015
---------------------------------Check Start----------------------------------
当前进程状态:
11002 root      9388 S    /mnt/sda3/xunlei/lib/EmbedThunderManager ***********
11006 root      2868 S    /mnt/sda3/xunlei/lib/vod_httpserver
迅雷进程数为:2
迅雷运行状态:Not OK
迅雷进程重启:OK
11821 root       828 S    /mnt/sda3/xunlei/lib/ETMDaemon /mnt/sda3/xunlei/lib/
11823 root      9384 S    /mnt/sda3/xunlei/lib/EmbedThunderManager ***********
11827 root      2868 S    /mnt/sda3/xunlei/lib/vod_httpserver
---------------------------------Check Over------------------------------------

脚本运行时间:Fri Nov 20 14:15:01 CST 2015
---------------------------------Check Start----------------------------------
当前进程状态:
11821 root       828 S    /mnt/sda3/xunlei/lib/ETMDaemon /mnt/sda3/xunlei/lib/
11827 root      2868 S    /mnt/sda3/xunlei/lib/vod_httpserver
12307 root      9388 S    /mnt/sda3/xunlei/lib/EmbedThunderManager ***********
迅雷进程数为:3
迅雷运行状态:OK
---------------------------------Check Over------------------------------------












本帖子中包含更多资源

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

×

评分

参与人数 2恩山币 +2 收起 理由
zhouhui920 + 1 强大的恩山!(以下重复1万次)
huatian + 1 城会玩

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
发表于 2015-11-21 13:45 | 显示全部楼层
谢谢大神,提供脚本。
我测试看看。。。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2015-11-22 21:08 | 显示全部楼层
谢谢分享 好东西啊
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2015-11-23 00:32 | 显示全部楼层
感谢分享,写得很好。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2015-11-23 00:56 来自手机 | 显示全部楼层
xware3没有这三个进程

点评

NAS、路由器用迅雷远程下载Xware 3.0 进程监视、掉线、自动重启方法及脚本 http://www.right.com.cn/forum/thread-178690-1-1.html (出处: 恩山无线论坛)  详情 回复 发表于 2015-11-23 02:58
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2015-11-23 02:58 | 显示全部楼层
丰花 发表于 2015-11-23 00:56
xware3没有这三个进程

NAS、路由器用迅雷远程下载Xware 3.0 进程监视、掉线、自动重启方法及脚本
https://www.right.com.cn/forum/thread-178690-1-1.html
(出处: 恩山无线论坛)
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2015-11-23 07:26 | 显示全部楼层
路由器用迅雷远程下载Xware 3.0 进程监视
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2015-11-24 10:19 | 显示全部楼层
感谢分享,已经在用!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2015-11-24 11:56 | 显示全部楼层
谢谢分享可以的
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2015-11-25 12:04 | 显示全部楼层
监控迅雷的脚本,手工运行都可以正常启停。
但有个问题,通过crontab -e编辑, 加入*/10 * * * * sh /media/AiDisk_a1/xunlei/check_xunlei.sh
当下可以运行,并且每隔10分钟会运行脚本,但是在路由器重启之后,这一行就没了。
不知道这一行是加到哪个文件里面。通过页面加在自定义的脚本里,重启之后也没了。
找到/etc/storage/cron/crontabs下的admin文件和root文件。

-----------------
/etc/storage/cron/crontabs # more admin
30 3 * * * reboot
*/10 * * * * sh /media/AiDisk_a1/xunlei/check_xunlei.sh
-----------------
-----------------
/etc/storage/cron/crontabs # more root
30 3 * * * reboot
0 */8 * * * /tmp/cron_adb 1 https://easylist-downloads.adblockplus.org/easylistchina.txt http://code.taobao.org/svn/padavanrt-n56uopt/userh.txt
*/10 * * * * sh /media/AiDisk_a1/xunlei/check_xunlei.sh-----------------
请高手解答一下。应该把这行写到哪个文件里,重启后才不会丢失。

点评

一般用那个用户登录就会加在对应的文件夹下; 这些配置文件重启之后不会丢失的; 你尝试一下添加到root文件下;再重启打开这个文件看看加的那一行还在不在  详情 回复 发表于 2015-11-25 12:51
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2015-11-25 12:51 | 显示全部楼层
longyiqi 发表于 2015-11-25 12:04
监控迅雷的脚本,手工运行都可以正常启停。
但有个问题,通过crontab -e编辑, 加入*/10 * * * * sh /medi ...

一般用那个用户登录就会加在对应的文件夹下;
这些配置文件重启之后不会丢失的;
你尝试一下添加到root文件下;再重启打开这个文件看看加的那一行还在不在

点评

我再root文件里也添加了,问题是重启后,确实就不见了。 直接crontab -e编辑也可以,但也是重启后就不见了。  详情 回复 发表于 2015-11-26 11:24
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2015-11-25 16:10 | 显示全部楼层
下载测试 谢谢楼主的发布
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2015-11-25 20:27 | 显示全部楼层
谢谢分享~~~~~~~
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2015-11-25 21:11 | 显示全部楼层
正在找类似的脚本呢  
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2015-11-25 21:20 | 显示全部楼层
这个要看看!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

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

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-18 11:35

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表