如何远程运行脚本?

时间:2018-07-25 06:57:46

标签: amazon-web-services amazon-ec2 devops

我有3个不同的应用程序在一个AWS帐户下运行,每个AWS帐户有3个ec2实例,这意味着我有9个具有9个Java进程的ec2实例,如何杀死在多个ec2机器上远程运行的Java进程?

我想要做的是从堡垒主机运行命令,该主机可以SSH到一台计算机或所有计算机中,并停止Java进程而不是SSH进入所有计算机

1 个答案:

答案 0 :(得分:0)

这可以通过bash脚本来完成。

Bash脚本使您可以自动执行通常手动输入到终端的步骤。您还需要create ssh-key,以便脚本可以按您的方式ssh登录实例,并且您需要对所有实例分别进行此操作。为了确保您设置正确,可以尝试登录ssh user@yourhost,并且应该没有密码提示。

一旦您在bastation主机和9个实例之间进行了所有ssh-key设置,就可以在bastation主机上编写脚本,该脚本可能如下所示:

#!/bin/bash
ssh user@yourhost1 <<EOF
  #kill your java process
EOF

ssh user@yourhost2 <<EOF
  #kill your java process
EOF

基本上,<< EOF和EOF之间的任何命令都将在远程主机上执行。

或者,您可以对9个实例使用loop statement

我希望我的回答可以为您提供一些线索,并且您会发现它有用。