Chinaunix首页 | 论坛 | 博客
  • 博客访问: 24668
  • 博文数量: 4
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 105
  • 用 户 组: 普通用户
  • 注册时间: 2007-07-01 18:25
文章分类

全部博文(4)

文章存档

2009年(3)

2008年(1)

我的朋友
最近访客

分类: Python/Ruby

2009-04-13 10:11:59

#auto update
import os,time,socket,sys,datetime
from ftplib import FTP
import ftplib
########### GET IP TO NAMED DIR
def GetIpLastNum():
    myname=socket.getfqdn(socket.gethostname())
    myaddr=socket.gethostbyname(myname)
    tp=myaddr.split('.')
    return tp[-1]
###########WRITE LOG FOR OPARETION
def PutOutinfo(LogPath,OutInfo):
    basename=os.path.basename(LogPath)
    tmIO=time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
    try:
        print "11111"
        LPT=open(basename,'a')
        LPT.writelines(tmIO+"\n")
        LPT.writelines(OutInfo+"\n")
        LPT.close()
    except:
        try:
            LPT=open(basename,'w')
            LPT.writelines(tmIO+"\n")
            LPT.writelines(OutInfo+"\n")
            LPT.close()
            print "00000"
        except:
            print "Can't write log file !!"
            sys.exit()
###########GET UPDATE FILE LIST
def GetFileList(GetFilePath):
    Ndate=datetime.date.today()
    FileList=[]
    print os.listdir(GetFilePath)
    for t in os.listdir(GetFilePath):
        if os.path.isfile(GetFilePath+"):
            if t.split(".")[-1]=="log":
                StatInfo=os.stat(GetFilePath+")
                MTimeT=time.localtime(StatInfo.st_mtime)
                MTime=datetime.date(MTimeT[0],MTimeT[1],MTimeT[2])
                Cday=int(str(abs(Ndate-MTime)).split(" ")[0])
                print Cday
                if Cday > 0:
                    FileList.append(GetFilePath+")
    print FileList
    return FileList
###########FTP UP DATA OPERATION
def FtpUpDate(FilePath,FtpHost,FtpUs,FtpPw):
    tm=time.strftime("%y%m%d",time.localtime())
    iptm=GetIpLastNum()
    ftp=FTP(FtpHost)
    )
    try:
        )
    except ftplib.error_perm:
        try:
            )
            )
        except ftplib.error_perm:
            print "Create directory false ,Please check FTP perfomable!!"
            pass
    pt=os.path.basename(FilePath)
    UpFile=open(FilePath,'rb')
    try:
        '+pt,UpFile)
    except:
        print "Up file false!!"
        sys.exit()
    print "update succeed"
    UpFile.close()
    ()
    return 0
########################DELECT FILE ,IF UP SUCCEED
def DelFile(DelFilePath):
    os.remove(DelFilePath)
    return 0
#########################
if __name__=="__main__":
    UpFileDir=raw_input("Please Input Log directroy Path: ")
    UFDList=UpFileDir.split(",")
    FtpAdd=raw_input("Please Input FTP server address:")
    FtpU=raw_input("Please Input FTP username: ")
    FtpP=raw_input("Please Input FTP password: ")
    for UFDTemp in UFDList:
        FileList=GetFileList(UFDTemp)
        print UFDTemp
        print FileList
        for FileListTemp in FileList:
            print FileListTemp
            tm=FtpUpDate(FileListTemp,FtpAdd,FtpU,FtpP)
            if tm==0:
                dtm=DelFile(FileListTemp)
                if dtm==0:
                    PutOutinfo("e:\\UpFTPLog.log","DELETE "+FileListTemp+" succeed!")
 
我的第一个python 脚本。该脚本的功能是,上传指定多个log文件夹到指定ftp服务器。
阅读(625) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2009-04-13 14:02:44

#auto update import os,time,socket,sys,datetime from ftplib import FTP import ftplib ########### GET IP TO NAMED DIR def GetIpLastNum(): myname=socket.getfqdn(socket.gethostname()) myaddr=socket.gethostbyname(myname) tp=myaddr.split('.') return tp[-1] ###########WRITE LOG FOR OPARETION def PutOutinfo(LogPath,OutInfo): tmIO=time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()) try: LPT=open(LogPath,'a') LPT.writelines("-------------------------