首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Openwrt脚本-自动启动Shadowsocks

Openwrt脚本-自动启动Shadowsocks
EN

Stack Overflow用户
提问于 2018-12-16 08:29:51
回答 1查看 606关注 0票数 0

我想为openwrt创建一个脚本,它每天都会更改Shadowsocks服务中的一些变量。这就是脚本,但我不知道该把它放在哪里,也不知道如何设法每天或每次路由器重启时调用它。

代码语言:javascript
复制
#!/bin/sh /etc/rc.common

restart=0
for i in `uci show shadowsocks | grep alias | sed -r 's/.*\[(.*)\].*/\1/'`
do
    server=$(uci get shadowsocks.@servers[${i}].alias)
    result=$(nslookup $server)

    new_ip=$(echo "${result}" | tail -n +3 | awk -F" " '/^Address 1/{ print $3}')
    if [ -n "$new_ip" ]; then
        logger -t shadowsocks "nslookup $server -> $new_ip"
        old_ip=$(uci get shadowsocks.@servers[${i}].server)
        if [ "$old_ip" != "$new_ip" ]; then
            logger -t shadowsocks "detect $server ip address change ($old_ip -> $new_ip)"
            restart=1
            uci set shadowsocks.@servers[${i}].server=${new_ip}
        fi
    else
        logger -t shadowsocks "nslookup $server fail"
    fi
done

if [ $restart -eq 1 ]; then
    logger -t shadowsocks "restart for server ip address change"
        uci commit shadowsocks
    /etc/init.d/shadowsocks restart
fi
EN

回答 1

Stack Overflow用户

发布于 2018-12-28 19:13:10

您可以使用cron实用程序。Cron是类Unix计算机操作系统中基于时间的作业调度程序。它允许在指定的时间运行作业/程序/脚本。

默认情况下,OpenWrt附带一个cron系统,由busybox提供。

Cron在默认情况下未启用,因此您的作业将不会运行。要在Openwrt中激活cron:

代码语言:javascript
复制
/etc/init.d/cron start
/etc/init.d/cron enable

参考:https://oldwiki.archive.openwrt.org/doc/howto/cron

现在考虑你的问题,如果你想每天运行上面提到的脚本:

使用crontab -e命令编辑cron文件。并写在下面的行上。

代码语言:javascript
复制
0 0 * * * sh /path/to/your/script.sh

此命令将在00:00 (每天午夜)运行您的脚本。您可以轻松地修改上述命令,以便在任何其他时间安排您的作业。生成cron作业条目的很好参考:https://crontab.guru/

要查看crontab是否正常工作:

代码语言:javascript
复制
tail -f /var/log/syslog | grep CRON

现在进入您的第二个问题“每次重新启动路由器时运行脚本”:

您可以将脚本放在/etc/rc.local.中这个文件将在Openwrt中由/etc/rc.d/S95do在每次启动时作为shell脚本执行。因此,只需使用sh /path/to/your/script.sh编辑/etc/rc.local,确保您的脚本是可执行的,并正确执行您的任务。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53798438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档