使用Python怎么对Mongodb数据定时备份

  介绍

今天就跟大家聊聊有关使用Python怎么对Mongodb数据定时备份,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

1。环境

Python: 3.6.1Python IDE: pycharm系统:这个

2。搭建FTP服务器,配置好FTP环境

2.1。启用FTP和IIS服务器

使用Python怎么对Mongodb数据定时备份”>,<br/> </p> <p>注意:要全部展开,勾选上。</p> <h4> 2.2。添加FTP服务器<br/> </h4> <p> <img src=

使用Python怎么对Mongodb数据定时备份

2.3。设置参数

使用Python怎么对Mongodb数据定时备份

使用Python怎么对Mongodb数据定时备份

使用Python怎么对Mongodb数据定时备份

2.4。设置成功,访问

使用Python怎么对Mongodb数据定时备份

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数据定时备份