我有3个不同的应用程序在一个AWS帐户下运行,每个AWS帐户有3个ec2实例,这意味着我有9个具有9个Java进程的ec2实例,如何杀死在多个ec2机器上远程运行的Java进程?
我想要做的是从堡垒主机运行命令,该主机可以SSH到一台计算机或所有计算机中,并停止Java进程而不是SSH进入所有计算机
答案 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。
我希望我的回答可以为您提供一些线索,并且您会发现它有用。