Python备份Mysql脚本

夏日的草原,早晨空气格外清新,我缠着父亲在草原上漫步。幽幽的草香迎面拂来,红艳艳。朝阳正从地平线上冉冉升起,为辽阔的草原镀上一层金色。草叶上的露珠,像镶在翡翠上的珍珠,闪着五颜六色的光华。我看到草丛中夹着许多粉红色、白色、黄色或是蓝色的不知名的花,把草原装扮得十分美丽。


#!/usr/bin/python importos
importtime
importftplib
importtraceback #configvars
systempathchr="/"#路径分割符,*nix用"/"win32用"\\" dbuser="root"#数据库用户名
dbpwd="dbpwd"#数据库密码
dbnamelist=["dbone","dbtwo","dbthree"]#需要备份那些数据库 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():
#login
bufsize=1024
ftp=ftplib.FTP()
try:
ftp.connect(ftp_addr,ftp_port)
ftp.login(ftp_user,ftp_pwd)
ftp.cwd(ftp_path)
forfilepathinftpqueue: #openfileforinputasbinary
f=open(filepath,"rb")
#storefileasbinary
printgetfilename(filepath)
ftp.storbinary("STOR"+getfilename(filepath),f,bufsize)
f.close()
ftp.quit()
except:
path=os.path.join(workdir,errlogfile)
traceback.print_exc(file=open(path,"a")) defdumpdb(dbname):
globalftpqueue
timeformat="%Y%m%d"
sqlvalformat="mysqldump-u%s-p\"%s\"\"%s\">\"%s\""
tarvalformat="tar--directory=\"%s\"-zcf\"%s\"\"%s\""
nowdate=time.strftime(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(tarval)
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分别设定不同的分隔符了引用
#configvars
systempathchr="/"#路径分割符,*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.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'

以上就是Python备份Mysql脚本。愿时光能缓,愿故人不散;愿你惦念的人能和你道晚安,愿你独闯的日子里不觉得孤单。更多关于Python备份Mysql脚本请关注haodaima.com其它相关文章!

标签: Python Mysql