SSH双机免密码互信登陆,每日自动本机备份数据库,以及异机互备 数据备份



每日自动本机备份数据库,以及异机互备.脚本内容:/home/backup.sh

 

一. 建立SSH双机免密码互信登陆:

数据库服务器:10.10.111.2:

ssh-keygen  -t  rsa
scp -r id_rsa.pub 10.10.111.4:/root/.ssh/authorized_keys

 

数据库服务器:10.10.111.4

ssh-keygen  -t  rsa
scp -r id_rsa.pub 10.10.111.2:/root/.ssh/authorized_keys

 

二.mysql备份脚本bakup.sh

数据库服务器:10.10.111.2:

#!/bin/bash
port="3306 3308"
DATE=`date "+%Y%m%d"`
local_id=`/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"`
remote_id=10.10.111.4
 
for p in $port
do
   if [ $p == 3306 ]
   then
      socket="/tmp/mysql.sock"
   else
      socket="/home/data/mysql_${p}/mysql.sock"
   fi
   /usr/local/mysql/bin/mysqldump  -uroot -pbnh1923  -S${socket}  --opt  --all-databases > /home/backup/${local_id}_${DATE}_${p}.sql
   rm -rf /home/backup/${local_id}_$(date -d -15day)_${p}.sql
   scp /home/backup/${local_id}_${DATE}_${p}.sql  root@${remote_id}:/home/backup/
done

数据库服务器:10.10.111.4:

#!/bin/bash
port="3306 3307 3308"
DATE=`date "+%Y%m%d"`
local_id=`/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"`
remote_id=10.10.111.2
 
for p in $port
do
   if [ $p == 3306 ]
   then
      socket="/tmp/mysql.sock"
   else
      socket="/home/data/mysql_${p}/mysql${p}.sock"
   fi
   /usr/local/mysql/bin/mysqldump  -uroot -pbnh1923  -S${socket}  --opt  --all-databases > /home/backup/${local_id}_${DATE}_${p}.sql
   rm -rf /home/backup/${local_id}_$(date -d -15day)_${p}.sql
   scp /home/backup/${local_id}_${DATE}_${p}.sql  root@${remote_id}:/home/backup/
done

三.验证备份数据:

cd /home  && ls
10.10.111.2_20180412_3306.sql     -> 正常
10.10.111.4_20180412_3306.sql     -> 正常

 

四.添加系统计划任务:

chmod +x /admin/backup.sh

crontab –e  # 添加以下任务

00 03 * * * /admin/backup.sh


签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回