45 lines
1.3 KiB
Bash
Executable File
45 lines
1.3 KiB
Bash
Executable File
#!/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}/ -
|