ログインするたびに1回実行するスクリプト(.sh
ファイル)がありますが、.sh
のメインスクリプトが実行される前にmysqlサービスが既に実行されていることを確認する必要があります。
これが私のドラフトです。
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