四博智联产品售后

 找回密码
 立即注册
搜索
查看: 6297|回复: 1

openwrt的启动脚本和定时脚本集锦

[复制链接]

237

主题

286

帖子

1675

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1675
发表于 2015-6-20 21:44:27 | 显示全部楼层 |阅读模式
转自
http://blog.chinaunix.net/uid-27194309-id-4629909.html
1. 启动脚本, /etc/rc.loca

点击(此处)折叠或打开

    # Put your custom commands here that should be executed once
    # the system init finished. By default this file does nothing.

    #2014-11, 上级WiFi不存在则OP中继异常, 切换到AP模式
    if ping -w 1 -c 1 www.baidu.com #ping测试
    then #如果条件ping -c 1 $address为真,即通,则执行该命令;
        echo "$address is online" #如果网络在线则放弃脚本
    else #如果网络不在线则开始切换网络
        /xutest/network_ap.sh
    fi

    #向上级路由映射UPNP端口
    /xutest/upnp.sh

    #将公网IP发到指定Email
    /xutest/getip.sh

    #解决3322.org的DDNS的不稳定
    sleep 128 /bin/sh /usr/lib/ddns/dynamic_dns_updater.sh myddns 0 &
    a=1
    while [ $a -le 500 ]
    do
        /bin/sh /usr/lib/ddns/dynamic_dns_updater.sh myddns 0 &
        sleep 1h
    Done


    exit 0


2. 定时脚本, /etc/contrabs/root

点击(此处)折叠或打开

    */1 * * * * /xutest/703n_led_blink.sh
    */1 * * * * /xutest/lewei_dongle.sh
    */1 * * * * /xutest/yeelink_photo.sh

    0 */1 * * * /xutest/upnp.sh


3.  按键处理, 相关2个文件, 无需重启即可有效
/etc/config/system

点击(此处)折叠或打开

    config system
        option hostname 'OpenWrt'
        option zonename 'Asia/Shanghai'
        option timezone 'CST-8'
        option conloglevel '8'
        option cronloglevel '8'

    config timeserver 'ntp'
        list server '0.openwrt.pool.ntp.org'
        list server '1.openwrt.pool.ntp.org'
        list server '2.openwrt.pool.ntp.org'
        list server '3.openwrt.pool.ntp.org'
        option enable_server '0'

    config restorefactory
        option button 'reset'
        option action 'pressed'
        option timeout '2'

    config led
        option name 'flashing'
        option sysfs 'tp-link:blue:config'
        option trigger 'timer'
        option delayon '800'
        option delayoff '800'

    config led
        option name 'Relay'
        option sysfs 'tp-link:blue:relay'
        option trigger 'none'
        option default '0'


/etc/hotplug.d/button/50-restorefactory, 必须具有X属性

点击(此处)折叠或打开

    #!/bin/sh

    system_config() {
        config_get button "$1" button "reset"
        config_get action "$1" action "pressed"
        config_get timeout "$1" timeout "2"
    }

    config_load system
    config_foreach system_config restorefactory

    [ "$BUTTON" = "$button" ] && {

        [ -f /tmp/run/restorefactory.pid ] && read PID < /tmp/run/restorefactory.pid && kill $PID && rm /tmp/run/restorefactory.pid && logger -p user.info -t "restorefactory" "restore to factory defaults aborted"

        [ "$ACTION" = "$action" ] && {

            if [ "$timeout" -gt 0 ]
            then
                sleep "$timeout" && firstboot && reboot &
                echo $! > /tmp/run/restorefactory.pid
                logger -p user.info -t "restorefactory" "restoring to factory defaults in $timeout seconds"
            elif [ "$timeout" -eq 0 ]
            then
                firstboot && reboot &
            else
                logger -p user.info -t "restorefactory" "invalid timeout value ($timeout)"
            fi
        }
    }

    [ "$BUTTON" = "$button" ] && [ "$ACTION" = "$action" ] && {
        SW=$(uci get system.@led[-1].default)
        [ $SW == '0' ] && (uci set system.@led[-1].default=1; echo 1 > /sys/devices/platform/leds-gpio/leds/tp-link:blue:system/brightness)
        [ $SW == '0' ] || (uci set system.@led[-1].default=0; echo 0 > /sys/devices/platform/leds-gpio/leds/tp-link:blue:system/brightness)   
        uci commit

        #/etc/init.d/led restart
    }

回复

使用道具 举报

237

主题

286

帖子

1675

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1675
 楼主| 发表于 2015-6-21 22:59:33 | 显示全部楼层
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|四博智联 Inc. ( 粤ICP备15034758号-1

GMT+8, 2020-12-3 21:57 , Processed in 0.050220 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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