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":
print_time()
uploadfile_to_FTP()
cleanfile()
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341