且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

python os 模块

更新时间:2022-09-15 19:54:51

Python 3 教程二:文件,目录和路径

http://www.cnitblog.com/yunshichen/archive/2009/04/01/55931.html

 

python os模块

http://hi.baidu.com/happynp/blog/item/729243f902d5a751242df2c2.html

http://hi.baidu.com/fiber212121/blog/item/6e07ec03c97b6982d53f7c27.html

 

python getopt模块

http://www.tsnc.edu.cn/default/tsnc_wgrj/doc/pythonhtml/html/scripts_and_streams/command_line_arguments.html

http://www.sqlite.com.cn/MySqlite/11/416.Html

http://docs.python.org/library/getopt.html

http://docs.python.org/library/optparse.html

 

mysqldbback.py

#!/usr/bin/python









import os




import time




import ftplib




import traceback









#config vars




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=[]














def ftpstor():




#login




bufsize=1024




ftp=ftplib.FTP()




try:




ftp.connect(ftp_addr,ftp_port)




ftp.login(ftp_user,ftp_pwd)




ftp.cwd(ftp_path)




for filepath in ftpqueue:









#open file for input as binary




f=open(filepath,"rb")




#store file as binary




print getfilename(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"))



















def dumpdb(dbname):




global ftpqueue




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)









def getfilename(path):









pt=path.rfind(systempathchr)




return path[pt+1:]









def main():




for dbname in dbnamelist:




dumpdb(dbname)









ftpstor()









main()