欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python 从远程服务器下载日志文件的程序

程序员文章站 2022-05-22 10:11:20
复制代码 代码如下:import osimport sysimport ftplibimport socket #############################...

复制代码 代码如下:

import os
import sys
import ftplib
import socket

##################################################################
# sign in the ftp server and download the log file.
# 登陆生产服务器下载日志
#################################################################
def getserverlog(dir,filename,host,username,password):
 if os.path.exists(filename):
 print '****the file '+ filename +' has already exist! the file will be over writed'
 #connect
 try:
 f=ftplib.ftp(host)
 except (socket.error,socket.gaierror),e:
 print '----error:cannot reach '+host
 print e
 return false
 #login
 try:
 f.login(user=username,passwd=password)
 except ftplib.error_perm ,e:
 print '----error:cannot login to server '+host
 print e
 f.quit()
 return false
 print '****logged in as ' + username + ' to server ' +host
 #change folder
 try:
 f.cwd(dir)
 except ftplib.error_perm,e:
 print '----error:cannot cd to %s on %s' % (dir,host)
 print e
 f.quit()
 return false
 print '**** changed to %s folder on %s' % (dir,host)
 #get file
 try:
 f.retrbinary('retr %s' % filename,open(filename,'wb').write)
 except ftplib.error_perm,e:
 print '----error:cannot read file %s on %s' % (filename,host)
 print e
 os.unlink(filename)
 return false
 else:
 print '****downloaded '+ filename +' from '+ host +' to '+os.getcwd()
 f.quit()
 return true

if __name__ == "__main__":
 getserverlog("/userhome/root/other/temp","a.out","10.10.10.10","root","password")
 print '****done'


运行:python getserverlog.py