-
-
-
-
passwall脚本
最近发现某工具经常失效,观察了一下应该是不可抗力导致的。写个脚本自动更新订阅防止失联,还在测试中...
#!/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 -