Отправить rpm в несколько систем, удаленно выполнить установку rpm и повторить

Довольно долгое время читал, первый раз писал плакат. Я не скриптер (пока), но кое-что понимаю / знаю. Не все основы, но некоторые.

Я много искал, но пока не нашел свой конкретный случай.

Я пишу сценарий для отправки нескольких файлов rpm в несколько систем, затем удаленно выполняю команду установки rpm и повторяю на следующей системе.

У меня есть простой текстовый файл со списком систем (sites.txt). Список систем представлен в файле следующим образом:

0123 aa0123

4567 aa4567

8910 aa8910

и т.д ...

Я хочу использовать этот список для передачи в SCP / Команды SSH для отправки файлов RPM, а затем для выполнения установки rpm. Но я не совсем уверен, как заставить ту же команду повторяться, пока не будет пройден список систем (sites.txt).

Чтобы лучше понять, что я пытаюсь сделать, вот что у меня есть в сценарии:

for i в cat /tmp/sites.txt | awk '{print $ 2}' do REG = 'expr substr $ i'

(Это нужно?)

scp / remote / install / * $ i: / remote /установить; ssh $ i "rpm -U / remote / install / * '

Это то, что у меня есть на данный момент.

Любая помощь / совет будет очень признателен, поскольку я не очень силен в написании сценариев.

Спасибо!

0
задан 29 May 2019 в 01:53
1 ответ

Создайте репозиторий yum из этого каталога пакета. Поделитесь им по http или ftp.

На хостах установите это yum-репо, возможно, назовите его локальным . Установите и обновите только эти пакеты: yum --disablerepo = '*' --enablerepo = local update '*'

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

3
ответ дан 4 December 2019 в 12:15

Теги

Похожие вопросы