收起左侧

飞牛任务计划报错问题

4
回复
417
查看
[ 复制链接 ]

2

主题

3

回帖

0

牛值

江湖小虾

2026-3-18 22:01:17 显示全部楼层 阅读模式
悬赏1飞牛币未解决

由于IPTV问题需要经常重启光猫,但光猫开telnet和设置定时任务后重启均失效,所以用飞牛自带的官方任务计划功能,参照网上的方法写了一个定时重启光猫的脚本,代码如下:

#!/bin/sh
#这是远程重启HG6540A光猫的脚本
#打开光猫telnet
curl "http://192.168.0.1:8080/cgi-bin/telnetenable.cgi?telnetenable=1&key=14172AC56DB4"
sleep 3
#telnet登录光猫并发送reboot命令
(sleep 1;echo "telnetadmin";sleep 1;echo "FH-nE7jA%5mC56DB4";sleep 1;echo "su";sleep 1;echo "Fh@C56DB4";sleep 1;echo "reboot";sleep 1)|nc 192.168.0.1 23
return 0

实际执行发现每次飞牛任务计划执行的结果都是“失败”,但实际光猫已经重启成功;然而同样的脚本放到1panel里的计划任务执行就显示成功。强迫症表示不能忍。。。

以下是飞牛任务计划的执行结果:

image.png

以下是1panel里计划任务的执行结果:

image.png

求大佬帮忙看看这个脚本还有什么可以改进的地方,感谢!

附件: 您需要 登录 才可以下载或查看,没有账号?立即注册
收藏
送赞
分享

本帖子中包含更多资源

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

x

20

主题

683

回帖

740

牛值

共建版主

社区上线纪念勋章社区共建团荣誉勋章飞牛百度网盘玩家fnOS1.0上线纪念勋章EVO2产品纪念

2026-3-18 22:26:37 显示全部楼层

光猫的 HTTP 响应和 Telnet 回显里包含了二进制数据**(0xff 是非 UTF-8 字节),飞牛的任务计划器试图把这些输出当作文本解码,直接崩了——于是显示「失败」。**

解决方法**:把命令的输出静默掉,不让飞牛去解析。**

修改后的脚本:

#!/bin/sh
# 远程重启HG6540A光猫

# 打开光猫telnet
curl -s "http://192.168.0.1:8080/cgi-bin/telnetenable.cgi?telnetenable=1&key=14172AC56DB4" >/dev/null 2>&1
sleep 3

# telnet登录光猫并发送reboot命令
(sleep 1;echo "telnetadmin";sleep 1;echo "FH-nE7jA%5mC56DB4";sleep 1;echo "su";sleep 1;echo "Fh@C56DB4";sleep 1;echo "reboot";sleep 1)|nc 192.168.0.1 23 >/dev/null 2>&1

echo "done"
我有时需要查看计划任务的执行记录,确认光猫有没有重启成功。nc输出结果全部丢弃的话,就没办法判断了。 于是,在大佬修改后的代码基础上,我有加上了ping光猫的指令,等娃上完网课试一下 ; )  详情 回复
2026-3-21 19:40
网工一枚,公众号《云栈边界》
不定期分享飞牛教程及资讯

0

主题

36

回帖

0

牛值

江湖小虾

2026-3-19 15:39:32 显示全部楼层

nc 命令会输出 telnet 服务端返回的 0xff开头的二进制协商字节(telnet 协议的 IAC 控制符),这些非 UTF-8 内容被飞牛的任务引擎捕获后,强制用 UTF-8 解码失败,直接抛出异常并标记任务为失败;而 1panel 仅以脚本退出码判断成功,对输出内容的编码不做强制校验,因此不会报错。

原来如此 我把nc改为telnet命令,飞牛显示执行成功了,输出结果也正常了,不过遗憾的是,光猫并没有重启。。。 但是通过飞牛的命令行,手动telnet登录光猫,发送reboot指令,光猫成功重启 试了几次都这样,不知道又  详情 回复
2026-3-21 19:36

2

主题

3

回帖

0

牛值

江湖小虾

2026-3-21 19:36:45 楼主 显示全部楼层
绿芷是大佬 发表于 2026-3-19 15:39
nc 命令会输出 telnet 服务端返回的 0xff开头的二进制协商字节(telnet 协议的 IAC 控制符),这些非 UTF-8 ...

原来如此
我把nc改为telnet命令,飞牛显示执行成功了,输出结果也正常了,不过遗憾的是,光猫并没有重启。。。
但是通过飞牛的命令行,手动telnet登录光猫,发送reboot指令,光猫成功重启
试了几次都这样,不知道又是什么坑

2

主题

3

回帖

0

牛值

江湖小虾

2026-3-21 19:40:39 楼主 显示全部楼层
zhengbf 发表于 2026-3-18 22:26
光猫的 HTTP 响应和 Telnet 回显里包含了二进制数据**(0xff 是非 UTF-8 字节),飞牛的任务计划器试图把这 ...

我有时需要查看计划任务的执行记录,确认光猫有没有重启成功。nc输出结果全部丢弃的话,就没办法判断了。
于是,在大佬修改后的代码基础上,我有加上了ping光猫的指令,等娃上完网课试一下 ; )

  1. #!/bin/sh
  2. # 远程重启HG6540A光猫

  3. # 打开光猫telnet
  4. curl -s "http://192.168.0.1:8080/cgi-bin/telnetenable.cgi?telnetenable=1&key=14172AC56DB4" >/dev/null 2>&1
  5. sleep 3

  6. # telnet登录光猫并发送reboot命令
  7. (sleep 1;echo "telnetadmin";sleep 1;echo "FH-nE7jA%5mC56DB4";sleep 1;echo "su";sleep 1;echo "Fh@C56DB4";sleep 1;echo "reboot";sleep 5)|nc 192.168.0.1 23 >/dev/null 2>&1

  8. #测试光猫是否重启成功
  9. ping -c 3 192.168.0.1
  10. sleep 20
  11. ping -c 3 192.168.0.1

  12. echo "done"
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则