Я совершенно новичок в сценариях и, следовательно, нужна помощь, чтобы это исправить.
У нас около 3000 виртуальных машин и 450 физических серверов, которые являются серверами на базе Linux (немногие из них тогда ubuntu, начиная с 9.x, и немногие из них Susu, начиная с 8.X и большинство из них RHEL, начиная с 4.x до 7.4), для всех них мне нужно добавить несколько записей имени хоста с IP-данными в соответствующие файлы /etc /hosts.
У меня разные пользователи на каждом сервере с полным доступом sudoers, которые я могу использовать. Поэтому я создал CSV-файл с именем хоста, именем пользователя и паролем. который содержит необходимые данные для входа в систему. Имя файла "hostname_logins.csv"
Мне нужно загрузить файл (то есть hostname_list на каждый из этих серверов, а затем обновить те же данные в каждом из файлов хоста сервера.
Я буду запускать этот скрипт, используя один сервер RHEL 6. (Все остальные хосты могут быть разрешены с этого сервера и доступны, я уже подтвердил это.)
следовательно, нужна помощь, чтобы исправить этот скрипт.
скрипт не уверен, что в этом плохого, так как я новичок в скриптах:
#!/bin/bash
while read hostname_login user_name user_password
do
scp -p ./hostname_list $user_name:$user_password@$hostname_login:/tmp
ssh -eS $user_name:$user_password@$hostname_login [bash -c "echo rishee | sudo -S mv /tmp/hostname_list ./hostname_list && cp -p /etc/hosts /etc/hosts.bkp && cat ./hostname_list >> /etc/hosts && rm -f ./hostname_list"]
done < hostname_logins.csv
Мне нужно сделать это как один скрипт, который будет работать на всех этих серверах. заранее спасибо.