Сценарий оболочки - Как запустить скрипт после mysql, готов?

У меня есть сценарий (в a .sh файл) для выполнения, после того как каждый раз я вошел в систему. Но я должен удостовериться, что mysql услуга уже работает перед основным сценарием в моем .sh выполняемый.
Вот мой проект:

function check_mysql(){
    // script for checking mysql
    return status
}
mysqlstatus = check_mysql()
while mysqlstatus == false {
    mysqlstatus = check_mysql()
}
// once mysqlstatus == true
// my main script
// my main script
// my main script
// my main script

Как записать вышеупомянутый проект в сценарии оболочки?

4
задан 14 November 2015 в 05:06

2 ответа

Наконец я нашел ответ! :D

while !(mysqladmin ping)
do
   sleep 3
   echo "waiting for mysql ..."
done
echo "starting the main script"
#main script
#main script
#main script
4
ответ дан 1 December 2019 в 09:14

СПАСИБО за то, что вы обратили мое внимание на эту команду mysqladmin ping!

Это очень поможет при работе с Docker.

Вот что я в итоге сделал:

    # Returns true once mysql can connect.
    mysql_ready() {
        mysqladmin ping --host=database --user=root --password=MYSQL_ROOT_PASSWORD > /dev/null 2>&1
    }

    while !(mysql_ready)
    do
       sleep 3
       echo "waiting for mysql ..."
    done
3
ответ дан 1 December 2019 в 09:14

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

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