#!/bin/bash

dbUser=$1
dbPassword=$2
dbHost=$3
dbName=$5
dbPort=$4
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}/ -