如何用python实现多台mysqlserver的远程备份

Python017

如何用python实现多台mysqlserver的远程备份,第1张

用python是非常方便的,非常方便就能备份mysql和sqlserver,

下面我们来具体看看如何用:

#coding=gbk

import os

import time

os.system("mysqldump -h192.168.0.2 -uddd -pggg xdreams >E:/mysqldack/xdreams/xdreamsfdfdf.txt")

上面就成功把0.2机器上的mysql数据库备份下来,

导入数据库:mysql -h192.168.0.2 -uroot -psz212 -P 7659 hotelguanli <G:/temp/2013-03-28-10-34-35.sql

下面是sqlserver的:

os.system("sqlcmd.exe -S 127.0.0.1,56678 -U sa -P 123456 -d 数据库名 -b -c cmd_end -Q \"backup database 数据库名 to disk='d:/sql.bak'\"")

看看,是不是很简单。

当然还可以通过os.path.getsize(r"d:/sql.bak")/1024来获取这个文件的大小,返回的是K,

备份文件还可以用时间值来命名:

如:

nowtime=time.strftime('%Y-%m-%d-%H-%M-%S',time.localtime(time.time()))+""

改造上面一条:

os.system("mysqldump -h192.168.0.2 -uddd -pggg xdreams >E:/mysqldack/xdreams/xdreams"+nowtime+".txt")

如果再完善一点,就加个备份完成后发一封邮件到你邮箱里吧。

其它要注意到的一点就是sqlxerver和备份中,sqlserver服务器实列要支付远程连接,开启sql brower服务

两个数据库的密码不要含有"^"这个符号,因为在cmd里好像识别不到它,转义也不行,具体原因没查到.

现在,加在windows或linux的计划任务中去,每天执行它,至此,大功告成.

1. python是跨平台的,所以windows和unix上的代码区别不大,除非你使用了os,sys这个几个跟系统有关的模块。

2. 这个代码看样子备份就是把目录打包存储,验证的化看一下那个zip压缩包有没有就嘻嘻那个了。

3. source放两个是为了测试吧,你也可以放一个,没有影响的。

如果解决了您的问题请采纳!

如果未解决请继续追问