我有一个脚本可以根据某些解析逻辑将下载的日志文件处理成csv。
我想将这些csv写入不同服务器上的远程目录。这是由于我执行脚本的服务器上的空间限制。
我尝试过以下脚本的一些变体,但我似乎无法弄清楚这一点。我理解" SFTP"和" SSH"命令,但我不确定这是否是这个用例中的正确方法。(我已经设置了所有密钥和设置以允许服务器之间的远程连接)
import os
import re
import string
import csv
import gzip
import extract5
import pickle
import shutil
import pygeoip
def conn():
ssh = paramiko.SSHClient()
ssh.connect(XXXXXXXXXX.XXXX.XXXXXXXX.COM, username=XXXXXXX)
ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command(cmd_to_execute)
return conn(self:%s % (['cd /fs/fs01/crmdata/SYWR/AAM/AAM_Master/'])
downloadroot = '/opt/admin/AAM_Scripts/'
outgoing = conn
for sfile in os.listdir(downloadroot):
if sfile.endswith('gz'):
oname = sfile[sfile.find('AAM'):]
extract5.process(downloadroot,sfile,oname,outgoing)
#delete download dictionary and pickle
for date in os.listdir(downloadroot):
#match = re.match('(\d{4})[/.-](\d{2})[/,-](\d{2})$', date)
if date.find('AAM_CDF_1181_') > 0:
os.remove('%s%s' % (downloadroot, date))
os.remove('%sdownload.pkl' % (downloadroot))
我想做的是什么?我正走在正确的道路上,或者我的方法完全脱离了。我想知道如何或如果我能做到这一点背后的一些想法。