如何使用相同的文件夹结构,用60个ec2实例中的正确实例替换错误的文件?

时间:2019-04-17 18:39:26

标签: amazon-ec2

我有60个ec2实例,它们共享相同的文件夹结构,彼此相似,但不完全相同。错误的文件已上传到所有60个实例,我想知道用正确的文件替换该文件的最佳方法是什么?该文件的名称相同,并且在所有实例中都放置在同一位置。一般而言,AWS是新手,因此非常感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

假设您不想使用ansible之类的东西,可以访问服务器,并且只想使用bash,则可以执行以下操作: 将服务器的所有IP地址放入一个文件,每行一个-就像这样:

IpAddresses.txt

10.20.15.1
10.20.15.44
10.20.15.65

然后创建一个脚本:

myscript.sh

#!/bin/bash
while read line; do
    ssh -i path_to_key.pem ec2-user@$line 'sudo rm -rf /path_to_directory | command 2 | command 3'
done < IpAddresses.txt

也许您可以执行上述操作,首先删除不需要的目录,然后执行scp复制正确的文件。

取决于纠正问题所需的命令,但这是一个选择。

请注意,我尚未完全测试此命令-因此您可能需要更正/测试一点。

参考: https://www.shellhacks.com/ssh-execute-remote-command-script-linux/

答案 1 :(得分:0)

如果您的EC2实例具有正确的IAM permissions,则可以使用Run Command服务来使用简单系统管理器(SSM)控制台。单击“运行命令”,然后从命令文档列表中选择AWS-RunShellScript。在文本框中,您可以指定要运行的shell命令,在下面可以选择要在其上运行命令的实例集。

这是更新和管理大量实例(如您拥有的实例)的推荐方法。