Finalmente encontrei a resposta! : D
while !(mysqladmin ping)
do
sleep 3
echo "waiting for mysql ..."
done
echo "starting the main script"
#main script
#main script
#main script
Eu tenho um script (em um arquivo .sh
) para ser executado uma vez sempre que eu fiz o login. Mas eu tenho que ter certeza que o serviço mysql já está rodando antes do script principal no meu .sh
executado.
Aqui está meu rascunho:
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
Como escrever o rascunho acima no script de shell?
Finalmente encontrei a resposta! : D
while !(mysqladmin ping)
do
sleep 3
echo "waiting for mysql ..."
done
echo "starting the main script"
#main script
#main script
#main script
OBRIGADO por trazer esse comando mysqladmin ping para minha atenção!
Vai ser uma grande ajuda ao lidar com o Docker.
Veja o que acabei fazendo:
# 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