介绍 2.1。启用FTP和IIS服务器
2.3。设置参数
2.4。设置成功,访问
今天就跟大家聊聊有关使用Python怎么对Mongodb数据定时备份,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
1。环境
Python: 3.6.1Python IDE: pycharm系统:这个
2。搭建FTP服务器,配置好FTP环境
2.1。启用FTP和IIS服务器
2.3。设置参数
2.4。设置成功,访问
3。用python编写压缩文件并实现FTP上传的脚本
3.1。导入包:
#, python3.6.1 import zipfile import 操作系统 import datetime 得到ftplib import  FTP
3.2。定义配置信息:
#,定义配置信息 时间=srcFolder r" F: \ Data",,,,,,, #,被压缩的源数据,文件夹形式 时间=desFolder " # 39; F: \ MongoDbData \ \ & # 39;,,, #,压缩好的数据临时存放的位置 时间=ftp_url “192.168.0.101",,,,,, #, FTP服务器地址 ftp_port =, 21岁,,,,,,,,,,,,#,FTP服务端口号 时间=ftpUploadFolder “MongoDBup",,,, #,压缩数据在FTP服务器上存放的位置
3.3。压缩数据源(文件夹):
#,压缩文件夹 def zipFolder (srcFolder, desFolder,,日期): & # 39;才能& # 39;& # 39; :才能param srcFolder:,被压缩的源数据位置 :才能param desFolder:,压缩之后文件的存放路径 ,,:param 日期:,执行压缩的当前时间,datetime产生(分机:2017 - 08 - 16 -,14:56:40.872613) ,,:返回:压缩文件的路径 & # 39;才能& # 39;& # 39; 时间=startTime 才能;datetime.datetime.now () 打印才能(f" Enter  func zipFolder,,时间:{开始时间}“) 时间=desName 才能;f" {desFolder} mongodb {date.year} {date.month} {date.day} .zip" #,才能检查是否已经压缩过了 if 才能os.path.exists (desName): ,,,endTime =, datetime.datetime.now () ,,,print (f" Already 行为,,leave func zipFolder,,时间:{endTime},, usedTime: {endTime-startTime}“) ,,,return desName z 才能=,zipfile.ZipFile (desName, & # 39; w # 39;,, zipfile.ZIP_DEFLATED) for 才能;dirpath,目录名,,filenames 拷贝os.walk (srcFolder): ,,,print (f" dirpath: {dirpath},,目录名:{目录名},,文件名:{文件名}“) ,,,for filename 拷贝文件名: ,,,,,试一试: ,,,,,,,#,Mongodb在运行时,有几个关于锁的文件无法压缩,为了避免程序终止,忽略这几个文件 ,,,,,,,z.write (os.path.join (dirpath,文件名)) ,,,,,except Exception as e: ,,,,,,,印刷(f"除了:{e},, cannot zip 文件:,{dirpath}{文件名}“) z.close才能() 时间=endTime 才能;datetime.datetime.now () 打印才能(f" zip ,, leave func zipFolder,,时间:{endTime},, usedTime: {endTime-startTime}“) return 才能desName
3.4。文件上传到FTP服务器上:
#,上传文件至FTP服务器 def ftpUpload(文件夹,文件名,还以为,ftp_url, ftp_port): & # 39;才能& # 39;& # 39; :才能param 文件名:,待上传文件路径 :才能param 文件夹:,文件上传至FTP服务器上的存储目录 :才能param ftp_url:, FTP服务器IP :才能param ftp_port:,端口号,默认为21 ,,:返回:status 代码 & # 39;才能& # 39;& # 39; 时间=startTime 才能;datetime.datetime.now () 打印才能(f" Enter  func ftpUpload,,时间:{开始时间}“) ftp 才能=,FTP () ftp.set_debuglevel才能(2),,,,,,,,,,#,set debug 水平,detail 信息:2,关闭:0 ftp.connect才能(ftp_url, ftp_port) ftp.login才能(& # 39;& # 39;,,& # 39;& # 39;),,,,,,,,,,,,#,登录,如果匿名登录则用空串代替 null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null使用Python怎么对Mongodb数据定时备份