forked from frankiejun/serv00-play
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrevive.sh
executable file
·34 lines (29 loc) · 931 Bytes
/
revive.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/bin/bash
#HOSTS_JSON='{
#"info": [
#{
# "host": "s2.serv00.com",
# "username": "xloong",
# "port": 22,
# "password": "abc123"
#}
#]
#}'
#echo "host info:$HOSTS_JSON"
# 使用 jq 提取 JSON 数组,并将其加载为 Bash 数组
hosts_info=($(echo "${HOSTS_JSON}" | jq -c ".info[]"))
for info in "${hosts_info[@]}"; do
user=$(echo $info | jq -r ".username")
host=$(echo $info | jq -r ".host")
port=$(echo $info | jq -r ".port")
pass=$(echo $info | jq -r ".password")
script="/home/$user/serv00-play/keepalive.sh autoupdate ${SENDTYPE} ${TELEGRAM_TOKEN} ${TELEGRAM_USERID} ${WXSENDKEY}"
output=$(sshpass -p "$pass" ssh -o StrictHostKeyChecking=no -p "$port" "$user@$host" "bash -s" <<< "$script")
echo "output:$output"
if echo "$output" | grep -q "更新完毕"; then
echo "登录成功"
else
echo "登录失败"
./tgsend.sh "主机:$host,用户名:$user,登录失败请检查!"
fi
done