如何用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的计划任务中去,每天执行它,至此,大功告成.
下面我们来具体看看如何用:
#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的计划任务中去,每天执行它,至此,大功告成.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询