昨天直接发帖求赞,如回复所言,隐藏无效了。
今天再发一帖,顺便分享个自己用的Serv00批量保活脚本,
没一行代码是自己写的(笑死,根本不会写代码),
报错了就把报错信息发给AI,改出一个能用的,
sh脚本,优点是不需要什么环境(手机用termux就行),
目前发现的问题是,如果账号被封了,只要能登录还是算保活成功。
麻烦各位点个赞,谢谢。
#!/bin/bash
#Serv00保活脚本
#密码带$的要转义
#Serv00创建文件默认ANSI格式,改成UTF8防止中文乱码
# 服务器配置字典
declare -A servers
servers=(
["server1"]="xxxx:xxxxxxxxxx:s7.serv00.com"
["server2"]="xxxx:xxxxxxxxxx:s8.serv00.com"
)
# 初始化计数器和失败列表
success_count=0
failure_count=0
failed_users=()
# 循环遍历服务器配置
for server_name in "${!servers[@]}"; do
# 使用 IFS 分割字符串
IFS=":" read -r USERNAME PASSWORD SSH_ADDRESS <<< "${servers[$server_name]}"
# 要执行的远程命令
SSH_COMMAND="/home/${USERNAME}/.npm-global/bin/pm2 list && exit"
echo "----------------------------------------"
echo "正在连接到服务器: $server_name ($SSH_ADDRESS)"
# 使用 sshpass 登录并执行命令
sshpass -p "${PASSWORD}" ssh \
-o StrictHostKeyChecking=no \
-o UserKnownHostsFile=/dev/null \
-tt ${USERNAME}@${SSH_ADDRESS} "${SSH_COMMAND}"
# 检查命令执行结果
if [ $? -eq 0 ]; then
echo "服务器 $server_name 保活成功."
((success_count++))
else
echo "服务器 $server_name 保活失败."
((failure_count++))
failed_users+=("$USERNAME@$SSH_ADDRESS") # 将失败的用户名添加到数组
fi
echo "服务器 $server_name 命令执行完毕."
echo "----------------------------------------"
done
# 输出统计信息
echo "========================================"
echo "服务器数量: ${#servers[@]}"
echo "保活成功: $success_count"
echo "保活失败: $failure_count"
# 输出失败的用户名
if [ ${#failed_users[@]} -gt 0 ]; then
echo "保活失败服务器:"
for user in "${failed_users[@]}"; do
echo "- $user"
done
else
echo "恭喜,所有服务器保活成功."
fi
echo "========================================"