shell脚本实现数据库主从的状态检查

准备:
mysql , mail

#!/bin/bash
a=`mysql -e 'show slave status \G' | grep Slave_IO_Running | awk -F ':' '{print$2}'`
b=`mysql -e 'show slave status \G' | grep Slave_SQL_Running | awk -F ':' '{print$2}'`
if [ $a -a $b==Yes ];then
        echo "主从正常"
else
        echo "主从失败"
        echo "失败" | mail -s "error" 12345679@qq.com
fi
### 使用Shell脚本实现DNS主从配置 以下是一个完整的Shell脚本示例,用于在CentOS系统上实现DNS主从服务器的配置。该脚本基于提供的引用内容[^2]进行了扩展和优化,确保能够自动完成主服务器和从服务器的配置。 #### 主服务器配置脚本 ```bash #!/bin/bash # 提示用户输入主服务器IP地址 read -p "请输入主服务器IP地址:" masterIP # 修改本地DNS缓存服务器配置 sed -i '/DNS/d' /etc/sysconfig/network-scripts/ifcfg-ens33 echo "DNS=$masterIP" >> /etc/sysconfig/network-scripts/ifcfg-ens33 systemctl restart network # 安装BIND服务 yum install bind bind-utils -y # 修改主配置文件 sed -i '13s/^/\/\//' /etc/named.conf sed -i '21s/localhost/any/g' /etc/named.conf # 提示用户输入需要解析的域名 read -p "请输入您需要解析的域名:" NS # 添加区域配置 sed -i '24azone "'$NS'" IN {\n type master;\n file "'$NS'.zone";\n allow-transfer { '$masterIP'; }; };' /etc/named.rfc1912.zones # 创建并修改区域数据库配置文件 cd /var/named/ cp -a named.localhost $NS.zone sed -i '2s/@/master/2' /var/named/$NS.zone sed -i '/NS/s/@/master/g' /var/named/$NS.zone sed -i '9s/[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+/'$masterIP'/' /var/named/$NS.zone sed -i '/AAAA/d' /var/named/$NS.zone # 提示用户输入从服务器IP地址 read -p "请输入从服务器IP地址:" slaveIP # 配置从服务器信息 sed -i '9a \ NS slave \nslave A '$slaveIP'' /var/named/$NS.zone # 配置额外的A记录 sed -i '11awww A '$masterIP'\n\* A '$masterIP'' /var/named/$NS.zone # 启动named服务 systemctl start named ``` #### 从服务器配置脚本 ```bash #!/bin/bash # 提示用户输入主服务器IP地址 read -p "请输入主服务器IP地址:" masterIP # 修改本地DNS缓存服务器配置 sed -i '/DNS/d' /etc/sysconfig/network-scripts/ifcfg-ens33 echo "DNS=$masterIP" >> /etc/sysconfig/network-scripts/ifcfg-ens33 systemctl restart network # 安装BIND服务 yum install bind bind-utils -y # 修改主配置文件 sed -i '13s/^/\/\//' /etc/named.conf sed -i '21s/localhost/any/g' /etc/named.conf # 提示用户输入需要解析的域名 read -p "请输入您需要解析的域名:" NS # 添加区域配置 sed -i '24azone "'$NS'" IN {\n type slave;\n masters { '$masterIP'; };\n file "slaves/'$NS'.zone"; };' /etc/named.rfc1912.zones # 启动named服务 systemctl start named ``` #### 注意事项 - 在主服务器配置中,`allow-transfer`指令用于指定允许从服务器进行数据传输的IP地址[^2]。 - 在从服务器配置中,`masters`指令用于指定主服务器的IP地址,确保可以从主服务器同步数据[^2]。 - 脚本中的`sed`命令用于修改配置文件,确保自动化程度高且易于维护。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值