2015-10-15 2 views
0

Я хочу написать скрипт для рыб, чтобы запустить Locust на серверах Amazon. Я написал код, как показано ниже, проблема в том, что когда оболочка подключается к первому серверу, он не может отправлять другие команды там.скрипт для подключения серверов и выполнения некоторых команд на amazon

Любые помощь, рекомендация оцениваются.

ответ

1

Вам необходимо передать команды, которые вы хотите запустить в качестве последнего аргумента для команды ssh.

for lab in $labs 
    ssh -i $key $lab screen locust -f /path/to/project/file.py --master 
end 

В этом случае это будет работать нормально. Будьте осторожны, когда удаленная команда более сложная, особенно если она содержит цитируемые строки, так как вы можете закончить обедом из вложенных котировок! Если это произойдет, вам обычно лучше всего просмотреть сценарий, а затем запустить его с помощью ssh.

+0

спасибо, что это работает. У меня есть два сообщения: «Должен быть подключен к терминалу» и «bash: =: command not found». Я также задаюсь вопросом, как обычно я должен нажать клавишу 'enter', чтобы активировать' screen', как мне это обработать? –

+0

Измените команду на: 'command = 'cd/path/to/project /; screen locust -f file.py --master'' Выполняется экран с этой единственной командой. Может также сократиться еще до: 'command = 'screen locust -f /path/to/project/file.py --master'' – IBam

+0

Собственно, как только вы это сделали, может также встроить команду - я обновлю мой ответ – IBam

Смежные вопросы