用Python实现定时备份Mongodb数据,并上传到FTP服务器
实现的功能:在win7下,每天晚上1点,自动将 F:/data中所有文件进行压缩,以[mongodb+日期]命名,将压缩好的文件存储在本地目录 F:\MongoDbData\,然后将这个压缩好的文件上传到ftp://192.168.0.101/MongoDBup/目录下
分三步:
- 第一步:搭建FTP服务器,配置好FTP环境。
- 第二步:用python编写压缩文件并实现FTP上传的脚本
- 第三步:使用win7自带的任务计划程序定时执行python脚本
1. 环境
- Python:3.6.1
- Python IDE:pycharm
- 系统:win7
2. 搭建FTP服务器,配置好FTP环境
2.1. 启用FTP和IIS服务器
注意:要全部展开,勾选上。2.2. 添加FTP服务器
- 2.3. 设置参数
- 2.4. 设置成功,访问
参考:https://jingyan.baidu.com/article/574c5219d466c36c8d9dc138.html
3. 用python编写压缩文件并实现FTP上传的脚本
- 3.1. Import包:
# python3.6.1
import zipfile
import os
import datetime
from ftplib import FTP
- 3.2. 定义配置信息:
# 定义配置信息
srcFolder = r"F:\Data" # 被压缩的源数据,文件夹形式
desFolder = r'F:\MongoDbData\\' # 压缩好的数据临时存放的位置
ftp_url = "192.168.0.101" # FTP服务器地址
ftp_port = 21 # FTP服务端口号
ftpUploadFolder = "MongoDBup" # 压缩数据在FTP服务器上存放的位置
- 3.3. 压缩数据源(文件夹):
# 压缩文件夹
def zipFolder(srcFolder, desFolder, date):
'''
:param srcFolder: 被压缩的源数据位置
:param desFolder: 压缩之后文件的存放路径
:param date: 执行压缩的当前时间,datetime产生(ext:2017-08-16 14:56:40.872613)
:return: 压缩文件的路径
''