Довольно долгое время читал, впервые плакат. Я (пока) не скриптер, но кое-что понимаю / знаю. Не все основы, но некоторые.
Я много искал, но пока не нашел свой конкретный случай.
Я пишу сценарий для отправки нескольких файлов rpm в несколько систем, а затем удаленно выполняю команду установки rpm и повторяю на следующей системе.
У меня есть простой текстовый файл, содержащий список систем (sites.txt). Список систем в файле выложен так:
0123 aa0123
4567 aa4567
8910 AA8910
и т.д...
Я хочу использовать этот список для перехода к командам SCP / SSH для отправки файлов RPM, а затем для выполнения установки rpm. Но я не совсем уверен, как заставить ту же команду повторяться, пока не будет пройден список систем (sites.txt).
Чтобы лучше понять, что я пытаюсь сделать, вот что у меня есть в сценарии на данный момент:
for i in cat /tmp/sites.txt | awk '{print $2}'
do
REG='expr substr $i'
(Это нужно?)
scp /remote/install/* $i:/remote/install; ssh $i "rpm -U /remote/install/*'
Это то, что у меня есть.
Любая помощь / совет будут очень благодарны, так как я не очень силен в написании сценариев.
Спасибо!
Создайте репозиторий yum из этого каталога пакетов. Поделитесь им по http или ftp.
На хостах установите это yum repo, возможно, назовите его local
. Устанавливайте и обновляйте только эти пакеты: yum --disablerepo='*' --enablerepo=local update '*'
Чтобы сделать это на многих хостах, используйте программное обеспечение для автоматизации. Ansible очень хорош в том, чтобы просто вставить ssh в ящик и делать что-то параллельно с приличной обработкой ошибок. Это будет игра с двумя задачами на Ansible.