38 lines
1.3 KiB
Bash
38 lines
1.3 KiB
Bash
#!/bin/bash
|
|
|
|
# CONFIG
|
|
USERNAME="root"
|
|
PASSWD="Gladious123" # Удалите эту строку, если используете SSH-ключи
|
|
HOSTS=("10.0.1.1" "10.0.1.2" "10.0.1.3" "10.0.1.4" "10.0.1.5")
|
|
|
|
# VMID для каждого хоста
|
|
VMIDS=(
|
|
"100 108 115 121 122 140 127 132 132 136" # 10.0.1.1
|
|
"104 109 117 123 129 133 137" # 10.0.1.2
|
|
"106 110 118 124 126 130 134" # 10.0.1.3
|
|
"107 111 125 139 131 135 138" # 10.0.1.4
|
|
"113 143" # 10.0.1.5
|
|
)
|
|
|
|
RLNAME="DEFAULT" # RLNAME для всех хостов
|
|
|
|
for i in ""${!HOSTS[@]}""; do
|
|
host=""${HOSTS[$i]}""
|
|
vmid_list=""${VMIDS[$i]}""
|
|
|
|
for vmid in $vmid_list; do
|
|
# Формируем команду для выполнения на удаленном хосте
|
|
remote_command="qm rollback $vmid '$RLNAME'; qm start '$vmid'"
|
|
|
|
# Запускаем команду через ssh (или sshpass, если ключи не настроены)
|
|
# Если используете SSH-ключи, удалите строку sshpass ниже
|
|
sshpass -p "$PASSWD" ssh -o StrictHostKeyChecking=no "$USERNAME@$host" "$remote_command"
|
|
#ssh -o StrictHostKeyChecking=no "$USERNAME@$host" "$remote_command"
|
|
|
|
echo "Выполнено: ssh $USERNAME@$host \"$remote_command\""
|
|
done
|
|
done
|
|
|
|
echo "Скрипт завершен."
|
|
|