This commit is contained in:
ubuntu 2025-03-11 08:52:19 +08:00
parent 2bc0bd855e
commit f4db71a552
3 changed files with 57 additions and 10 deletions

View File

@ -3,8 +3,8 @@
dbUser=$1
dbPassword=$2
dbHost=$3
dbName=$5
dbPort=$4
dbName=$5
backUpPath=$6
ossPath=$7
hostName=$(echo $HOSTNAME)
@ -12,28 +12,26 @@ hostName=$(echo $HOSTNAME)
PATH=PATH:/usr/bin:/usr/sbin:/usr/local/bin
check_port() {
nc -z -w5 $dbHost $dbPort
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_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 是活跃的,一切正常。"
echo "端口 $dbPort 是活跃的,一切正常。"
else
echo "警告:端口 $dbPort 不活跃,请检查数据库连接。"
docker restart maria
sleep 10
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
/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

13
checkDns.sh Executable file
View File

@ -0,0 +1,13 @@
#!/bin/bash
# 检查参数个数是否正确
if [ $# -ne 2 ]; then
echo "用法: $0 <域名> <DNS服务器地址>"
exit 1
fi
domain="$1"
dns_server="$2"
# 使用dig命令查询域名对应的IP地址并过滤结果只保留IP地址
dig +short "$domain" @$dns_server | grep -E "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$"

36
diffDns.sh Executable file
View File

@ -0,0 +1,36 @@
#!/bin/bash
# 检查参数个数是否正确
if [ $# -ne 3 ]; then
echo "用法: $0 <域名> <DNS服务器地址1> <DNS服务器地址2>"
exit 1
fi
domain="$1"
dns_server1="$2"
dns_server2="$3"
# 调用checkDns.sh获取第一个DNS服务器解析的所有IP地址
result1=$(./checkDns.sh "$domain" "$dns_server1")
# 调用checkDns.sh获取第二个DNS服务器解析的所有IP地址
result2=$(./checkDns.sh "$domain" "$dns_server2")
# 获取result1的第一个IP地址
first_ip_result1=$(echo "$result1" | head -n 1)
# 检查result1的第一个IP地址是否包含在result2中
if echo "$result2" | grep -q "^$first_ip_result1$"; then
echo "result1的第一个IP地址包含在result2的结果集合中"
else
echo "result1的第一个IP地址不包含在result2的结果集合中执行指定命令"
# 在这里替换成你实际要执行的命令,比如:
# some_command arg1 arg2
fi
# 输出第一个DNS服务器解析的所有IP地址
echo "DNS服务器 $dns_server1 解析的IP地址:"
echo "$result1"
# 输出第二个DNS服务器解析的所有IP地址
echo "DNS服务器 $dns_server2 解析的IP地址:"
echo "$result2"