diff --git a/backUpDB.sh b/backUpDB.sh index 4d7685b..32d3d4b 100755 --- a/backUpDB.sh +++ b/backUpDB.sh @@ -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}/ -