From f4db71a552248bf7fa1c78ac527b5faea1f231cd Mon Sep 17 00:00:00 2001 From: ubuntu Date: Tue, 11 Mar 2025 08:52:19 +0800 Subject: [PATCH] diff dns --- backUpDB.sh | 18 ++++++++---------- checkDns.sh | 13 +++++++++++++ diffDns.sh | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 57 insertions(+), 10 deletions(-) create mode 100755 checkDns.sh create mode 100755 diffDns.sh diff --git a/backUpDB.sh b/backUpDB.sh index 8f74afc..4b979ad 100755 --- a/backUpDB.sh +++ b/backUpDB.sh @@ -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 diff --git a/checkDns.sh b/checkDns.sh new file mode 100755 index 0000000..5d5be78 --- /dev/null +++ b/checkDns.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +# 检查参数个数是否正确 +if [ $# -ne 2 ]; then + echo "用法: $0 <域名> " + 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}$" diff --git a/diffDns.sh b/diffDns.sh new file mode 100755 index 0000000..4966587 --- /dev/null +++ b/diffDns.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +# 检查参数个数是否正确 +if [ $# -ne 3 ]; then + echo "用法: $0 <域名> " + 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"