#!/usr/bin/env python
# -*- coding:utf-8 -*-
import paramiko
from datetime import date,timedelta
import time
import os
backupDate = time.strftime("%Y%m%d")
hostname="10.10.10.10"
hostname='%s' %hostname
port=22
port=int(port)
username="root"
username='%s' %username
password="1"
password='%s' %password
transport = paramiko.Transport((hostname,port))
transport.connect(username=username,password=password)
sftp = paramiko.SFTPClient.from_transport(transport)
remoteFile='/data/DB/all_'+backupDate+'-0010.sql.gz'
localFile=r'C:\backup_file\all_'+backupDate+'-0010.sql.gz'
def scp_linux_to_windows():
"""从远程linux拷贝备份文件到windows"""
sftp.get(remoteFile,localFile)
transport.close()
def del_local_file():
"""删除本地windows备份文件,保留的天数由下面的reserveDay参数决定"""
reserveDay = 7
reserveFile = []
localFileDir = r'C:\backup_file'
for i in range(reserveDay):
i = (date.today() + timedelta(days = -i)).strftime("%Y%m%d")
reserveFile.append('all_'+i+'-0010.sql.gz')
localFileName = os.listdir(localFileDir)
for item in localFileName:
if item not in reserveFile:
os.remove(localFileDir+'/'+item)
del_local_file()
scp_linux_to_windows()