Как заменить неправильный файл на правильный в 60 экземплярах ec2 с одинаковой структурой папок?

#amazon-ec2

#amazon-ec2

Вопрос:

У меня есть 60 экземпляров ec2, которые используют одну и ту же структуру папок, похожи друг на друга, но не полностью идентичны. Неправильный файл был загружен во все 60 экземпляров, и мне было интересно, каков наилучший способ заменить этот файл правильным? Файл называется одинаково и размещается в одном и том же месте во всех экземплярах. Я новичок в использовании AWS в целом, поэтому буду признателен за любую помощь.

Комментарии:

1. Можете ли вы показать пример того, что вы пробовали? Как насчет этого: superuser.com/a/338798/191864

Ответ №1:

Предполагая, что вы не хотите использовать что-то вроде 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 /

Ответ №2:

Если ваши экземпляры EC2 имеют правильные разрешения IAM, вы можете использовать консоль Simple Systems Manager (SSM), используя Run Command сервис. Нажмите «Выполнить команду», затем выберите AWS-RunShellScript из списка командных документов. В текстовом поле вы можете указать команду оболочки для запуска, а ниже вы можете выбрать набор экземпляров, для которых вы хотите запустить команду.

Это рекомендуемый способ обновления и администрирования большого парка экземпляров, таких как у вас.