python脚本之ftp上传日志

2020-01-07 14:56:48 浏览数 (1)

因为ssoc日志巨大,很快就把磁盘占满。需要每天把备份上传到ftp服务器上,所以根据网上的资料,做了个简单的脚本。算是第一次自己拼凑出的脚本。还很简单,特别是把异常处理简化了。因为本身单一,然后把屏幕输出用管道命令》直接写到本地文件,充当日志。很懒的一个版本。还需加工。


1 ftp上传 文件夹里的内容 2 上传后把现有的目录下的文件删除。 简化的好处就是只要遍历文件如果有新文件的就上传。

代码如下:


import ftplib import os import shutil import time

def ftpconnect(): ftp_server = 'x.x.x.x' # FTP server ip address username = 'xxxx' password = 'xxxx' timeout = 30 port = 21

代码语言:javascript复制
ftp = ftplib.FTP()
ftp.set_debuglevel(2)  # open debug level 2, can display detail message
ftp.connect(ftp_server, port, timeout)  # connect to FTP server
ftp.login(username, password)

return ftp

def uploadfile_to_FTP(): ftp = ftpconnect() print ftp.getwelcome() # can display FTP server welcome message.

代码语言:javascript复制
bufsize = 1024
for filename in os.listdir(r"/data/data/event"):
    remotepath = "/safe-logs/" filename
    localpath = "/data/data/event/" filename
    fp = open(localpath, 'rb')
    ftp.storbinary('STOR '   remotepath, fp, bufsize)  # start to upload file :local --> FTP server
ftp.set_debuglevel(0)  # close debug

fp.close()  # close connect

ftp.quit()  # quit FTP server

def cleanfile(): shutil.rmtree("/data/data/event") os.mkdir("/data/data/event")

def print_time(): localtime=time.asctime(time.localtime(time.time())) print 'n' print "localtime:",localtime

if name == "main":

downloadfile_from_FTP()

代码语言:javascript复制
print_time()
uploadfile_to_FTP()
cleanfile()

ftp

0 人点赞