passwall脚本

发布于 2023-07-30  654 次阅读


最近发现某工具经常失效,观察了一下应该是不可抗力导致的。写个脚本自动更新订阅防止失联,还在测试中...

#!/bin/sh

# 脚本使用方法:增加定时任务“*/2 * * * *  bash /root/passeall_sub_auto_uptate.sh”,两分钟执行一次

current_date=$(date +"%Y-%m-%d %H:%M:%S")

# 检查passwall是否开启
passwall_status=`ps | grep -c passwall`
if (( $passwall_status < 2 )); then
    echo "$current_date - passwall未运行,退出脚本!" >> passwall_sh_log.txt
    exit
fi

# 检查网络连接是否正常
ping -W 5 -c 1 223.5.5.5 > /dev/null
if [ $? -eq 1 ]; then
    echo "$current_date - 外部网络连接异常,退出脚本!" >> passwall_sh_log.txt
    exit
fi

# 检查国内DNS解析是否正常
nslookup -timeout=5 www.baidu.com > /dev/null
if [ $? -eq 1 ]; then
    echo "$current_date - 外部网络DNS解析异常,不具备执行条件,退出脚本!" >> passwall_sh_log.txt
    exit
fi

# 检查外网连接是否正常
curl -s -m 5 --head http://www.google.com > /dev/null
if [ $? -eq 1 ]; then
    echo "$current_date - 外网连接异常!"
    echo "$current_date - 更新订阅列表..."
    lua /usr/share/passwall/subscribe.lua start cfg0f8b02 > /dev/null
    if [ $? -eq 0 ]; then
        echo "$current_date - 订阅列表更新成功!" >> passwall_sh_log.txt
    else
        echo "$current_date - 订阅列表更新失败!请检查服务器设置!" >> passwall_sh_log.txt    
        exit
    fi
else
    echo "$current_date - 外网连接正常,退出脚本!" >> passwall_sh_log.txt
fi
exit
この素晴らしい世界に祝福を!
最后更新于 2023-07-30