python备份mysql脚本_360

python备份mysql脚本_360

ID:37171767

大小:14.01 KB

页数:3页

时间:2019-05-21

python备份mysql脚本_360_第1页
python备份mysql脚本_360_第2页
python备份mysql脚本_360_第3页
资源描述:

《python备份mysql脚本_360》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Python备份Mysql脚本_360Python备份Mysql脚本[标签:作者][标签:来源][标签:时间]复制代码代码如下:#!/usr/bin/pythonimportosimporttimeimportftplibimporttraceback#configvarssystempathchr="/"#路径分割符,*nix用"/"win32用"\"dbuser="root"#数据库用户名dbpwd="dbpwd"#数据库密码dbnamelist=["dbone","dbtwo","dbthree"]#

2、需要备份那些数据库workdir="/path/to/backup/"#本地备份文件夹errlogfile="databack.log"#错误日志名ftp_addr="192.168.0.2"#ftp地址ftp_port="2102"#ftp端口ftp_user="databack"#ftp用户名ftp_pwd="backpwd"#ftp密码ftp_path="/"#存放到ftp路径ftpqueue=[]defftpstor():#loginbufsize=1024ftp=ftplib.FTP()try:ft

3、p.connect(ftp_addr,ftp_port)ftp.login(ftp_user,ftp_pwd)ftp.cwd(ftp_path)forfilepathinftpqueue:#openfileforinputasbinaryf=open(filepath,"rb")#storefileasbinaryprintgetfilename(filepath)ftp.storbinary("STOR"+getfilename(filepath),f,bufsize)f.close()ftp.quit()

4、except:path=os.path.join(workdir,errlogfile)traceback.print_exc(file=open(path,"a"))defdumpdb(dbname):globalftpqueuetimeformat="%Y%m%d"sqlvalformat="mysqldump-u%s-p"%s""%s">"%s""tarvalformat="tar--directory="%s"-zcf"%s""%s""nowdate=time.strftime

5、(timeformat)dumpfile=os.path.join(workdir,dbname+".dump")zipfile=os.path.join(workdir,dbname+nowdate+".tar.gz")sqlval=sqlvalformat%(dbuser,dbpwd,dbname,dumpfile)result=os.system(sqlval)tarval=tarvalformat%(workdir,zipfile,dbname+".dump")result=os.system(tar

6、val)os.remove(dumpfile)ftpqueue.append(zipfile)defgetfilename(path):pt=path.rfind(systempathchr)returnpath[pt+1:]defmain():fordbnameindbnamelist:dumpdb(dbname)ftpstor()main()没有仔细看,不过下面这两句,推荐看看os.path模块里面的函数,可能就不用针对linux和win分别设定不同的分隔符了引用#configvarssystempath

7、chr="/"#路径分割符,*nix用"/"win32用"\"看到代码里面是用在得到文件名的,可以试试os.path.basename活着os.path.split了复制代码代码如下:>>>importos.path>>>os.path.basename("c:\test\aa.txt")'aa.txt'>>>os.path.split("c:\test\aa.txt")('c:\test','aa.txt')>>>os.path.split("c:\test\aa.txt")[-1]'aa.

8、txt'>>>os.path.basename("/home/test/aa.txt")'aa.txt'>>>os.path.split("/home/test/aa.txt")('/home/test','aa.txt')>>>os.path.basename("/home/test/aa.txt")'aa.txt'

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。