脚本连接服务器并在亚马逊

时间:2015-10-15 11:50:02

标签: amazon-web-services ssh fish locust

我想编写一个鱼脚本来在亚马逊服务器上运行Locust。我编写了如下代码,问题是当shell连接到第一台服务器时,它无法发送其他命令。

任何帮助,推荐都会受到赞赏。

set labs 'ubuntu@compute1.amazonaws.com' 'ubuntu@compute2.amazonaws.com' 'ubuntu@compute3.amazonaws.com' 'ubuntu@compute4.amazonaws.com' 
set key /Users/mesutgunes/Desktop/project-key.pem

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

1 个答案:

答案 0 :(得分:1)

您需要将要运行的命令作为ssh命令的最终参数传递。

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

在这种情况下我认为会很好。当远程命令更复杂时要小心,特别是如果它包含带引号的字符串,因为你可以得到一个正确的嵌套引号的晚餐!如果发生这种情况,您通常最好scp一个脚本,然后使用ssh运行它。