Удаленная установка mysql застряла

Я написал скрипт для установки некоторого набора пакетов в список серверов. Когда я выполняю сценарий, то установка mysql застряла в разделе «введите пароль root». Есть ли что-то, что мне нужно изменить в моем сценарии?

Есть ли способ передать пароль root mysql через сам скрипт?

#!/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

[ ! d5]

1
задан 28 July 2017 в 02:15

3 ответа

Попробуйте это:

#!/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

Если у вас много сервера, вы должны использовать инструмент, похожий на аналог или марионетку.

Изменить:

Обратная косая черта (\) используется для удобства чтения. Они позволяют продолжить команду на следующей строке. Оператор AND (& amp;) используется для выполнения команды в одной строке. Если кто-то не работает, следующий не выполняется. Параметры debconf-set используются для настройки конфигураций. В этом случае: пароль. Вы можете найти дополнительную информацию об этом на странице руководства, набрав: man debconf-set-selections внутренний терминал.
2
ответ дан 22 May 2018 в 20:06
  • 1
    что именно делает debconf, его немного странно понять, и почему вы добавили \ symbol рядом с & amp; & amp; – surendar 28 July 2017 в 09:43
  • 2
    Я обновил свой ответ, чтобы отразить ваши вопросы. – Mat'arangéÇa 28 July 2017 в 21:27
  • 3
    Скрипт работал отлично, оцените вашу помощь – surendar 31 July 2017 в 19:55

Попробуйте это:

#!/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

Если у вас много сервера, вы должны использовать инструмент, похожий на аналог или марионетку.

Изменить:

Обратная косая черта (\) используется для удобства чтения. Они позволяют продолжить команду на следующей строке. Оператор AND (& amp;) используется для выполнения команды в одной строке. Если кто-то не работает, следующий не выполняется. Параметры debconf-set используются для настройки конфигураций. В этом случае: пароль. Вы можете найти дополнительную информацию об этом на странице руководства, набрав: man debconf-set-selections внутренний терминал.
2
ответ дан 18 July 2018 в 09:32

Попробуйте это:

#!/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

Если у вас много сервера, вы должны использовать инструмент, похожий на аналог или марионетку.

Изменить:

Обратная косая черта (\) используется для удобства чтения. Они позволяют продолжить команду на следующей строке. Оператор AND (& amp;) используется для выполнения команды в одной строке. Если кто-то не работает, следующий не выполняется. Параметры debconf-set используются для настройки конфигураций. В этом случае: пароль. Вы можете найти дополнительную информацию об этом на странице руководства, набрав: man debconf-set-selections внутренний терминал.
2
ответ дан 24 July 2018 в 19:22

Другие вопросы по тегам:

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