37 lines
1.2 KiB
Bash
37 lines
1.2 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")
|
|
|
|
# VMID для каждого хоста
|
|
VMIDS=(
|
|
"1001 1006 1007 1009" # 10.0.1.1
|
|
"1002 1004 1008 10010" # 10.0.1.2
|
|
"1003 1005 10011 10012 10014" # 10.0.1.3
|
|
"10013 10015" # 10.0.1.4
|
|
)
|
|
|
|
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 "Скрипт завершен."
|
|
|