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

2024-11-07 01:30:28
推荐回答(1个)
回答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的计划任务中去,每天执行它,至此,大功告成.