一键批量修改ubuntu矿机挖矿配置

工作需要,有一些内网的ubuntu系统的矿机需要修改下端口以及worker名,只有一台机器有外网权限,ssh连上这台外网机后执行一个脚本一键批量修改。于是花了点时间写了这个脚本,有需要的自取。
#!/bin/bash
# 修改两个IP段的范围
ip_ranges=("192.168.0" "10.0.0")
modify_server() {
ip=$1
ssh_script=$(printf '%s\n' \
"# 修改 /root/xmrig/rtm.sh 文件" \
"sed -i 's/stratum+tcp:\/\/192.168.0.1:3333/stratum+tcp:\/\/192.168.0.1:1333/g' /root/xmrig/rtm.sh" \
"sed -i 's/\(.钱包地址\.\).*\(\s*-p x\)/\1rtm-solo \2/g' /root/xmrig/rtm.sh" \
"# 重启服务器并创建screen会话" \
"reboot" \
"screen -dmS rtm" \
"# 自动启动 /root/xmrig/rtm.sh 脚本" \
"screen -S rtm -X stuff '/root/xmrig/rtm.sh\n'" \
)
timeout 5 ssh -o 'StrictHostKeyChecking=no' -o 'ConnectTimeout=3' "root@$ip" "echo \"$ssh_script\" | bash"
}
for range in "${ip_ranges[@]}"; do
for i in {1..254}; do
# 拼接内网IP地址
ip="$range.$i"
# 在后台运行SSH连接尝试
modify_server "$ip" &
done
done
# 等待所有后台任务完成
wait
保存文件后给予+x权限,然后执行即可。
另外特别感谢ChatGPT 4的协助,效率高了很多,拖了一个多月的事情解决了。

