![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#!/usr/bin/env python # _*_coding:utf-8_*_ # Author: "Edward.Liu" # Author-Email: lonnyliu@126.com """ mongodbbackup script Rewrite 1.首先在 Mongodb服务器进行 mongodb 的数据备份 2.将备份文件进行打包 3.将 tar 包文件传送到远端服务器 4.脚本以选项的方式进行 例如: ./mongodbbackup.py -H <ipaddress> """ import paramiko import argparse import sys import subprocess import os import datetime import tarfile import shutil class SSHConnection(object): """""" # ---------------------------------------------------------------------- def __init__(self, host, username, password, port=22): """Initialize and setup connection""" self.sftp = None self.sftp_open = False # open SSH Transport stream self.transport = paramiko.Transport((host, port)) self.transport.connect(username=username, password=password) # ---------------------------------------------------------------------- def _openSFTPConnection(self): """ Opens an SFTP connection if not already open """ if not self.sftp_open: self.sftp = paramiko.SFTPClient.from_transport(self.transport) self.sftp_open = True # ---------------------------------------------------------------------- def put(self, local_path, remote_path=None): """ Copies a file from the local host to the remote host """ self._openSFTPConnection() self.sftp.put(local_path, remote_path) # ---------------------------------------------------------------------- def close(self): """ Close SFTP connection and ssh connection """ if self.sftp_open: self.sftp.close() self.sftp_open = False self.transport.close() class MongodbBackup(object): # ---------------------------------------------------------------------------- def local_backup(self, tarfile_name, Now, mongodb_DB_Name): ### Set Mongodb Info--------- mongodb_Host = 'localhost' mongodb_Port = 27017 mongodb_Bin_Home = '/install/mongodb/bin/mongodump' mongodb_Back_Dir = '/software/mongodb_back' mongodb_Backup_Command = "%s -h %s:%s -d %s -o %s > /dev/null" % ( mongodb_Bin_Home, mongodb_Host, mongodb_Port, mongodb_DB_Name, mongodb_Back_Dir) ### Set Mongodb Info ---->End ### Start Backup Mongodb if os.path.exists(mongodb_Back_Dir): print "