#!/bin/bash dbUser=$1 dbPassword=$2 dbHost=$3 dbPort=$4 dbName=$5 backUpPath=$6 ossPath=$7 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 -f || true mv ${hostName}_${dbName}.sql_bak2.tar.gz ${hostName}_${dbName}.sql_bak3.tar.gz -f || true mv ${hostName}_${dbName}.sql_bak1.tar.gz ${hostName}_${dbName}.sql_bak2.tar.gz -f || true mv ${hostName}_${dbName}.sql.tar.gz ${hostName}_${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 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 rm sql -fr || true mkdir sql mv ${hostName}_${dbName}.sql sql tar -czvf ${hostName}_${dbName}.sql.tar.gz sql cp /tmp/${hostName}_${dbName}.sq*.tar.gz ${backUpPath} -f #echo "ossPath: "${ossPath} #ossutil cp ${dbName}.sql.tar.gz oss://${ossPath}/ -