服务器上数据库是mysql的,数据库备份我做的rsync,计划每天在晚上12点进行数据库同步
我的主服务器a ip:192.168.0.1 备份服务器b ip:192.168.0.2 两台服务器在安装的时候完全的一模一样,mysql安装的也一样,所以我要做的就是把a服务器下的数据库文件夹同步到 b服务器下即可。
于是我就有了第一个脚本:作用服务器b,作用停止mysql
#!bin/bash
# stop mysql and remove datafile
service mysqld stop&&cd /var/lib/&& rm -fr mysql && mkdir mysql&&chmod 777 -R mysql
这个脚本就是我写的第一个脚本,作用就是把b服务器上的mysql数据库文件干掉,然后新建一个新的,修改权限,等待a服务器传来的数据之后重启mysql数据就过来了
所以就有了第二个脚本,rsync的同步脚本
#!bin/bash
# sync
rsync -vzrtopg –delete /var/lib/mysql maple@192.168.0.2::maple –password-file=/etc/rsyncd.password
这个就是我写的同步的命令,这个具体就是同步a服务器上的mysql数据文件到b服务器上。这个具体我就不细说了
然后就是这个命令写完之后,我就要到b服务器上启动mysql就可以了
#!bin/bash
# start mysql
cd /var/lib/&& chmod -R 777 mysql&& service mysqld start
以上三个就是我写的三个脚本,其实就是命令的堆积了,其实这个脚本还很多不足的地方,现在列举如下,请各位大神不吝赐教
1:将rsync脚本的同步的输出结果发送的指定邮箱 abc@abc.com
2: 将b服务器上的删除操作改为备份,按照日期将文件备份到其他文件夹,并且查询超过两个月的文件冰删除。
3:放到crontab中每天定时执行
时间:2012-08-21 21:39:40
Latest posts by Zhiming Zhang (see all)
- aws eks node 自动化扩展工具 Karpenter - 8月 10, 2022
- ReplicationController and ReplicaSet in Kubernetes - 12月 20, 2021
- public key fingerprint - 5月 27, 2021