首页 > 代码库 > mysql数据库备份并且实现远程复制
mysql数据库备份并且实现远程复制
一.实现ssh 远程登陆
机器环境:
192.167.33.108 clent 用户:crawler
192.167.33.77 server 用户:crawler
1.客户端 生成密钥
/home/crawler/.ssh/ssh-keygen
2. 查看密钥文件权限
ls -ld ~/.ssh; ls -l ~/.ssh
3.修改文件权限
chmod 700 /home/crawler/.ssh
chmod 600 /home/crawler/.ssh/id_rsa
4.复制公钥到服务器端
scp -r /home/crawler/.ssh/id_rsa.pub crawler@192.167.33.77:/home/crawler/.ssh
5.服务器端设置公钥
ls -ld /home/crawler/.ssh 查看文件权限
chmod 700 /home/crawler/.ssh 需要是drwx
ls -l /home/crawler/.ssh/*pub 查看是否有公钥
cat /home/crawler/.ssh/id_rsa.pub >> /home/crawler/.ssh/authorized_keys //生成公钥最好用这种方式避免替换掉之前的公钥
chmod 644 /home/crawler/.ssh/authorized_keys //修改权限
ls -l /home/crawler/.ssh // 查看权限
6.ssh crawler@192.167.33.47 登陆成功
二、备份mysql数据库
1.备份脚本(每天凌晨3点30开始备份,只保留7天的备份数据)
30 03 * * * sh /home/crawler/mysql_back_up/script/mysql-backup.sh gquan_miss8
rq=` date +%Y%m%d `
echo backuping $1
mysqldump -uroot -p111111 --default-character-set=utf8 --opt --triggers -R --hex-blob --single-transaction $1 | gzip > /home/crawler/mysql_back_up/daily/$1-all-$rq.sql.gz
find /home/crawler/mysql_back_up/daily -mtime +7 -name "*.sql.gz" -exec rm -rf {} \;
echo finished backup $1
2.rsync实现远程备份数据增量同步(每天凌晨5点10分执行)
10 05 * * * sh /home/crawler/mysql_back_up/script/back_mysql_77.sh >> /home/crawler/mysql_back_up/script/back.log
#!/bin/sh
echo "------------------------start--------------"`date`
rsync -au --delete /home/crawler/mysql_back_up/daily/ crawler@192.168.32.77:/home/crawler/back_96_data
echo "------------------------over--------------"`date
3.测试查看服务器上面有client文件说明正确
server图片
client 图片
mysql数据库备份并且实现远程复制