passwall脚本

313 字
2 分钟
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

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

passwall脚本
https://kanochan.net/posts/3441/
作者
KanoChan
发布于
2023-07-30
许可协议
CC BY-NC-SA 4.0

评论区

文章目录