1

Я сделал скрипт, который тестирует веб-сервер с осадой. Перед каждым запуском я хочу сбросить виртуальную машину до снимка, чтобы у каждого теста была одна и та же начальная точка. Проблема в том, что скрипт перестает работать после запуска X, иногда он работает для 2 запусков, а иногда для 7. Это скрипт:

#!/bin/bash
for i in {0..30}
do
        ssh root@10.204.15.168 vim-cmd vmsvc/snapshot.revert 1 9 0
        sleep 2m
        siege -c 1000 -t 60S http://10.204.15.165:80/ &> /root/512/test$i
done

Похоже, что тест на осаду выполняется в последний раз, но сценарий не может выполнить команду ssh в следующий раз. Хост на 10.204.15.168 - это машина ESXi, у которой есть открытый ключ ssh от хоста, на котором выполняется скрипт.

1 ответ1

0

Эта проблема связана с ssh внутри цикла. Если вы хотите использовать ssh внутри цикла, добавьте к нему ' -n ', чтобы он работал для каждой итерации.

#!/bin/bash
for i in {0..30}
do
    ssh -n root@10.204.15.168 vim-cmd vmsvc/snapshot.revert 1 9 0
    sleep 2m
    siege -c 1000 -t 60S http://10.204.15.165:80/ &> /root/512/test$i
done

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .