找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 4003|回复: 9

[k3] 求助,如何在梅林的asp页面执行.sh的脚本文件

[复制链接]
梅林固件想实现S-S R状态检测,想要实现在ASP页面调用.sh代码检测S-S R连接状态,并且显示到页面上,目前检测代码可以检测到S-S R连接状态,页面也能显示,但是只能执行一次,需要在打开S-S R页面的时候,自动执行脚本检测连接状态,显示到页面上,关闭页面的时候,检测脚本停止执行。请各位大大指点。
我的恩山、我的无线 The best wifi forum is right here.
在原脚本里加入检测,内容是设置nvram值,然后在asp页面里读取即可
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
paldier 发表于 2018-3-29 18:16
在原脚本里加入检测,内容是设置nvram值,然后在asp页面里读取即可

我是这么做的,关键是S-S R连接状态实时会变,如果检测脚本一直重复运行不大好吧,我是想在打开S-S R页面的时候,页面能自动启动脚本运行,页面没10秒刷新一下状态,如果关闭了页面,就没必要进行检测了,自动关闭sh脚本运行
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

chunmaochun 发表于 2018-3-29 18:26
我是这么做的,关键是S-S R连接状态实时会变,如果检测脚本一直重复运行不大好吧,我是想在打开S-S R页面 ...

https://github.com/paldier/K3C-m ... w/Tools_Sysinfo.asp
这个页面的开机时间是实时刷新的,你可以参考下
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
paldier 发表于 2018-3-29 18:40
https://github.com/paldier/K3C-merlin/blob/master/release/src/router/www/Tools_Sysinfo.asp
这个页 ...
  1. function showbootTime(){
  2. Days = Math.floor(boottime / (60*60*24));
  3. Hours = Math.floor((boottime / 3600) % 24);
  4. Minutes = Math.floor(boottime % 3600 / 60);
  5. Seconds = Math.floor(boottime % 60);
  6. document.getElementById("boot_days").innerHTML = Days;
  7. document.getElementById("boot_hours").innerHTML = Hours;
  8. document.getElementById("boot_minutes").innerHTML = Minutes;
  9. document.getElementById("boot_seconds").innerHTML = Seconds;
  10. boottime += 1;
  11. setTimeout("showbootTime()", 1000);
  12. }
复制代码


刷新时间用的boottime这个函数,页面上刷新状态可以利用类似代码,但是真实状态怎么获取?一直让脚本运行,一直写nvram吗?能不能不一直运行脚本,在打开页面的时候才运行脚本呢
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

chunmaochun 发表于 2018-3-29 20:06
刷新时间用的boottime这个函数,页面上刷新状态可以利用类似代码,但是真实状态怎么获取?一直让脚本 ...

检测脚本一直运行写状态到一个文件,然后去读取这个文件
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
paldier 发表于 2018-3-29 20:11
检测脚本一直运行写状态到一个文件,然后去读取这个文件
  1. #!/bin/sh
  2. LOGTIME=$(date "+%Y-%m-%d %H:%M:%S")
  3. /usr/sbin/wget -4 --spider --quiet --tries=2 --timeout=2 www.google.com.tw
  4. if [ "$?" == "0" ]; then
  5.         echo "google - [ '$LOGTIME' ]  OK" > /tmp/gw.txt
  6. else
  7.         echo "google - [ '$LOGTIME' ]  NO" > /tmp/gnw.txt
  8. fi
复制代码
我想用以上代码检测国外连接是否正常,请问这么写对不对,我打算10秒运行一次,也就是循环运行,gw.txt文件里面是否只会有一条结果?另外,想问问,网页前端,如何读取gw.txt的内容。谢谢P大了。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

其实小宝的软件中心里ss就有相关代码,直接抄就是了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
paldier 发表于 2018-3-29 21:10
其实小宝的软件中心里ss就有相关代码,直接抄就是了

小宝那个代码我看了,检测代码是写的nvram,但是怎么读取的就看不懂了,难度太大了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
paldier 发表于 2018-3-29 21:10
其实小宝的软件中心里ss就有相关代码,直接抄就是了
  1. function get_ss_status_data() {
  2.         if (checkss < 10000) {
  3.                 checkss++;
  4.                 refreshRate = $("#ss_basic_refreshrate").val();
  5.                 $.ajax({
  6.                         type: "get",
  7.                         url: "/dbconf?p=ss_basic_enable,ss_basic_dns_success",
  8.                         dataType: "script",
  9.                         success: function() {
  10.                                 if (refreshRate != 0) {
  11.                                         if (db_ss_basic_enable['ss_basic_enable'] == "1") {
  12.                                                 $.ajax({
  13.                                                         url: '/ss_status',
  14.                                                         dataType: "html",
  15.                                                         success: function(response) {
  16.                                                                 var arr = JSON.parse(response);
  17.                                                                 if (arr[0] == "" || arr[1] == "") {
  18.                                                                         E("ss_state2").innerHTML = "国外连接 - " + "Waiting for first refresh...";
  19.                                                                         E("ss_state3").innerHTML = "国内连接 - " + "Waiting for first refresh...";
  20.                                                                 } else {
  21.                                                                         E("ss_state2").innerHTML = arr[0];
  22.                                                                         E("ss_state3").innerHTML = arr[1];
  23.                                                                 }
  24.                                                         }
  25.                                                 });
  26.                                         } else {
  27.                                                 E("ss_state2").innerHTML = "国外连接 - " + "Waiting...";
  28.                                                 E("ss_state3").innerHTML = "国内连接 - " + "Waiting...";
  29.                                         }
  30.                                 }
  31.                                 if (db_ss_basic_dns_success['ss_basic_dns_success'] == "0") {
  32.                                         E('SS_IP').style.display = "";
  33.                                         $('#SS_IP').html("<font color='#66FF66'>服务器IP地址解析异常!</font><a class='hintstyle' href='javascript:void(0);' onclick='openssHint(51)'><font color='#ffcc00'><u>查看帮助</u></font></a>");
  34.                                 } else if (db_ss_basic_dns_success['ss_basic_dns_success'] == "1") {
  35.                                         E('SS_IP').style.display = "";
  36.                                         $('#SS_IP').html("<font color='#66FF66'>服务器IP地址解析正常!</font><a class='hintstyle' href='javascript:void(0);' onclick='openssHint(51)'><font color='#ffcc00'><u>帮助</u></font></a>");
  37.                                 }
  38.                                 if (refreshRate > 0) {
  39.                                         setTimeout("get_ss_status_data();", refreshRate * 1000);
  40.                                 }
  41.                         }

  42.                 });
  43.         }
  44. }
复制代码


这个代码是我在小宝的文件里面看到的,这个就是检测是否联通的代码,他检测的脚本是写的nvram,这个代码怎么读取的nvram,实在看不懂哦
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

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

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

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

GMT+8, 2024-4-28 19:03

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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

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