Я записал сценарий для установки некоторого набора пакетов к списку серверов. Когда я выполняю сценарий mysql, установка застряла в, "вводят пароль root" раздел. Есть ли что-нибудь, что я должен изменить в своем сценарии? Совет я.
Там какой-либо путь состоит в том, чтобы передать mysql пароль root через сам сценарий?
#!/usr/bin/env bash
Servers_list=/opt/servers_list
for Host in $(< $Servers_list )
do
echo "Installing package on $Host"
#ssh "${Host}" apt-get -y install "${PackageName}"
ssh "${Host}" apt-get update $$ apt-get -y install apache2 apache2-doc apache2-utils mysql-server
done
Попробуйте это:
#!/usr/bin/env bash
Servers_list=/opt/servers_list
for Host in $(< $Servers_list )
do
echo "Installing package on $Host"
ssh "${Host}" "echo 'mysql-server-5.7 mysql-server/root_password password your_password' | debconf-set-selections && \
echo 'mysql-server-5.7 mysql-server/root_password_again password your_password' | debconf-set-selections && \
apt-get update && \
apt-get -y install apache2 apache2-doc apache2-utils mysql-server"
done
Если у Вас есть много сервера, необходимо рассмотреть использование инструмента как ansible или марионетка.
man debconf-set-selections
в терминале.