X9S 让X9S自动休眠或关机(以某IP不能ping通为触发条件)

Discussion in '中文讨论区' started by pda8888, Sep 5, 2018.

  1. pda8888

    pda8888 New Member

    在网页浏览器里面打开openwrt
    1、在“系统”->“启动项”->“本地启动脚本”里,填入以下内容:
    Code:
    echo '
    #!/bin/sh
    ip="172.16.0.66"
    logfile="/tmp/tvdead.log"
    ping -w 1 -c 1 $ip >> /dev/null
    if [ $? -ne 0 ]
            then
                    if [ -e $logfile ]
                            then
                                   rm $logfile
                                   echo mem  > /sys/power/state
                    else
                            echo "">$logfile
                    fi
    fi
    ' > /tmp/pingip.sh
    chmod +x /tmp/pingip.sh
    
    2、“系统”->“计划任务”里面,填入以下内容:
    */5 * * * * /tmp/pingip.sh


    --------------------------------------------------------------------------------------------------------------------------
    如此一来,系统会每5分钟ping一次172.16.0.66,自第一次ping不通的之后的5分钟,系统自动待机了。
    说明:
    1、在2项的*/5,是每5分钟自动执行一次的意思,可以自行参考cron的相关资料任意修改。而我这里指定的IP是172.16.0.66,是我的电视机的ip,如果其不能ping通,则可以认定电视关机了,X9S就可以进入待机了。可以根据自己的情况自行修改。
    2、上文 echo mem > /sys/power/state,是待机的意思,改为echo off > /sys/power/state ,即可实现关机。
    3、如果不能在计划任务里保存(很奇怪,我就遇到了),可以通过ssh连接x9s,vi /etc/crontabs/root,来添加这句:*/5 * * * * /tmp/pingip.sh
    我就是用这个土办法搞定的计划任务的。
     
    Last edited: Sep 5, 2018
    spring likes this.
  2. xulawyer

    xulawyer New Member

    人才!希望可以分享更多的好帖。懂linux的小伙伴就是强。这个芯片可以支持好多linux发行版,可玩性相当强。
     

Share This Page