重启docker mysql 加上判断,防止docker还没运行完就执行下面的语句

This commit is contained in:
zhangkun9038@dingtalk.com 2024-01-11 12:30:54 +08:00
parent 06d5f1a727
commit 729b7a9cd4

View File

@ -11,18 +11,29 @@ hostName=$(echo $HOSTNAME)
PATH=PATH:/usr/bin:/usr/sbin:/usr/local/bin
check_port() {
nc -z -w5 $dbHost $dbPort
}
cd /tmp
rm ${hostName}_${dbName}.sql_bak3.tar.gz || true
mv ${hostName}_${dbName}.sql_bak2.tar.gz ${dbName}.sql_bak3.tar.gz || true
mv ${hostName}_${dbName}.sql_bak1.tar.gz ${dbName}.sql_bak2.tar.gz || true
mv ${hostName}_${dbName}.sql.tar.gz ${dbName}.sql_bak1.tar.gz || true
rm ${hostName}_${dbName}.sql_bak3.tar.gz -f || true
mv ${hostName}_${dbName}.sql_bak2.tar.gz ${dbName}.sql_bak3.tar.gz -f || true
mv ${hostName}_${dbName}.sql_bak1.tar.gz ${dbName}.sql_bak2.tar.gz -f || true
mv ${hostName}_${dbName}.sql.tar.gz ${dbName}.sql_bak1.tar.gz -f || true
sed -i 's/lower_case_table_names=1/lower_case_table_names=0/g' /root/mysql/conf/append.cnf
docker restart maria
/usr/bin/mysqldump -R --opt --protocol=TCP --user=${dbUser} --password=${dbPassword} --host=${dbHost} --port=${dbPort} ${dbName} > ${hostName}_${dbName}.sql
if check_port; then
echo "端口 $dbPort 是活跃的,一切正常。"
else
echo "警告:端口 $dbPort 不活跃,请检查数据库连接。"
docker restart maria
sleep 10
fi
/usr/bin/mysqldump -R --opt --protocol=TCP --user="${dbUser}" --password="${dbPassword}" --host="${dbHost}" --port=${dbPort} ${dbName} > /tmp/${hostName}_${dbName}.sql
sed -i 's/lower_case_table_names=0/lower_case_table_names=1/g' /root/mysql/conf/append.cnf
docker restart maria
rm sql -fr || true
mkdir sql
mv ${hostName}_${dbName}.sql sql
@ -30,4 +41,4 @@ tar -czvf ${hostName}_${dbName}.sql.tar.gz sql
cp /tmp/${hostName}_${dbName}.sql.tar.gz ${backUpPath} -f
#echo "ossPath: "${ossPath}
#ossutil cp ${dbName}.sql.tar.gz oss://${ossPath}/ -f
#ossutil cp ${dbName}.sql.tar.gz oss://${ossPath}/ -