У меня есть сценарий (в 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
Как записать вышеупомянутый проект в сценарии оболочки?
Наконец я нашел ответ! :D
while !(mysqladmin ping)
do
sleep 3
echo "waiting for mysql ..."
done
echo "starting the main script"
#main script
#main script
#main script
СПАСИБО за то, что вы обратили мое внимание на эту команду 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