Как заменить неправильный файл на один из 60 экземпляров ec2 с той же структурой папок? - PullRequest
0 голосов
/ 17 апреля 2019

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

Ответы [ 2 ]

0 голосов
/ 18 апреля 2019

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

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

0 голосов
/ 17 апреля 2019

Если вы не хотите использовать что-то вроде 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, чтобы скопировать нужный файл.

Зависит от команд, необходимых для исправленияпроблема, но это вариант.

Обратите внимание, я не проверял эту команду точно - поэтому вам может потребоваться исправить / проверить немного.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...