#!/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:ackup_fileall_'+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:ackup_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()