python脚本之ftp上传日志

因为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

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.

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()

print_time()
uploadfile_to_FTP()
cleanfile()

转载于:https://blog.51cto.com/melonking/2043638

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一般的自动化测试脚本流程: 1. 准备测试环境:在本地或远程机器上搭建FTP服务器,并在本地或远程机器上搭建业务系统,在业务系统中配置FTP服务器地址和登录信息。 2. 编测试脚本:使用Python或其他自动化测试工具编测试脚本,模拟业务系统上传数据到FTP服务器,并检查上传结果是否正确。以下是一个Python示例脚本: ```python import ftplib # FTP服务器地址和登录信息 ftp_server = "ftp.example.com" ftp_user = "username" ftp_password = "password" # 上传文件到FTP服务器 def upload_file(filename): try: # 连接FTP服务器 ftp = ftplib.FTP(ftp_server, ftp_user, ftp_password) # 切换到指定目录 ftp.cwd("/logs") # 上传文件 with open(filename, "rb") as f: ftp.storbinary("STOR " + filename, f) # 关闭连接 ftp.quit() return True except Exception as e: print(e) return False # 检查上传结果是否正确 def check_upload_result(filename): try: # 连接FTP服务器 ftp = ftplib.FTP(ftp_server, ftp_user, ftp_password) # 切换到指定目录 ftp.cwd("/logs") # 获取文件列表 file_list = ftp.nlst() # 检查文件是否上传成功 if filename in file_list: return True else: return False except Exception as e: print(e) return False # 执行测试 if __name__ == "__main__": filename = "test.log" if upload_file(filename): if check_upload_result(filename): print("上传成功") else: print("上传失败") else: print("上传失败") ``` 3. 执行测试脚本:在命令行中运行Python脚本,执行测试并查看测试结果。 需要注意的是,以上示例脚本仅供参考,具体的测试脚本需要针对具体业务系统和FTP服务器进行调整。同时,还需要考虑异常情况处理以及其他可能的测试场景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值