python&DBA 一(自动安装热备备份并搭建复制)
2016-04-22 18:13
549 查看
最近刚刚学习python 想写一个 自动做复制的小脚本
大概思路如下:
1 主库上执行python脚本 输入 主库IP,从库IP 从库的服务器密码
2 主库从其他机器拷贝percona-xtrabackup-2.2.5-5027.el6.x86_64.rpm 如果不存在就拷贝过来并安装
3 备份数据库 热备
my_cnf = process("ps -ef |grep '/export/servers/mysql/bin/mysqld_safe' |grep -v grep |awk -F ' ' '{print $10}' |awk -F '=' '{print $2}'")[0]
sock = process("ps -ef |grep 'mysql.sock' |grep -v grep |awk -F '--' '{print $9}' |awk -F '=' '{print $2}'")[0]
cmd ='innobackupex --user=tangnanbing --password="Sunny_Blue19881204" --defaults-file=%s /export/ --socket=%s'%(my_cnf.strip(),sock.strip())
4 拷贝热备文件到从库, 这个需要scp过去 但是scp如果不输入密码需要做互信
做互信需要以下:
1 需要安装 expect yum install expect* http://blog.csdn.net/msdnchina/article/details/50638573
2 生产本地秘钥 本地秘钥里面要有hostname 可以shell取到 ssh-keygen -t rsa -C "HOSTNAME"
3 执行脚本 做互信
ssh build_pubKey.sh
大概思路如下:
1 主库上执行python脚本 输入 主库IP,从库IP 从库的服务器密码
2 主库从其他机器拷贝percona-xtrabackup-2.2.5-5027.el6.x86_64.rpm 如果不存在就拷贝过来并安装
3 备份数据库 热备
my_cnf = process("ps -ef |grep '/export/servers/mysql/bin/mysqld_safe' |grep -v grep |awk -F ' ' '{print $10}' |awk -F '=' '{print $2}'")[0]
sock = process("ps -ef |grep 'mysql.sock' |grep -v grep |awk -F '--' '{print $9}' |awk -F '=' '{print $2}'")[0]
cmd ='innobackupex --user=tangnanbing --password="Sunny_Blue19881204" --defaults-file=%s /export/ --socket=%s'%(my_cnf.strip(),sock.strip())
4 拷贝热备文件到从库, 这个需要scp过去 但是scp如果不输入密码需要做互信
做互信需要以下:
1 需要安装 expect yum install expect* http://blog.csdn.net/msdnchina/article/details/50638573
2 生产本地秘钥 本地秘钥里面要有hostname 可以shell取到 ssh-keygen -t rsa -C "HOSTNAME"
3 执行脚本 做互信
ssh build_pubKey.sh
相关文章推荐
- Python练习 - 廖雪峰教程
- SubLime Text 3配置Python环境 (windows下)
- python的collection系列-有序字典(OrderedDict)
- 利用python实现对鼠标的移动点击操作
- 用Python登陆武汉理工大学无线校园网
- python解释器内建函数002
- Python3.5入门学习记录-File
- python unicode-escape编码问题
- python小技巧-基于python本身
- Python爬虫入门笔记:urllib库的使用
- Python中pip版本升级error:You are using pip version 7.1.2, however version 8.1.1 is available.
- python的collection系列-counter
- Python IDLE reload(sys)后无法正常执行命令的原因
- Python笔记01:sort min/max map/filter/reduce 列表解析 详解
- python基础
- Eclipse和PyDev搭建完美Python开发环境(Windows篇)
- python #coding:utf-8和setdefaultencoding有什么区别?
- Python处理Excel(一):Excel的简单处理
- LeetCode[Math]----Excel Sheet Column Title----Excel Sheet Column Number
- django/python日志logging 的配置以及处理