Skynet

          ---------- ---------- 我的新 blog : liukaiyi.cublog.cn ---------- ----------

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            112 Posts :: 1 Stories :: 49 Comments :: 0 Trackbacks


          ./pyftp_sync.py /tongbu/day/spbusinessinfo/all/$mydate-walkman.000 $mydir$mydate-walkman.000 218.205.XXX.XXX Name Pass123 get >> pyftp_sync.log

          #!/usr/bin/python
          #
           -*- coding: utf-8 -*-
          import ftplib
          import datetime
          import os
          import sys
          import socket
          import time
          #time access
          TF0='%Y-%m-%d-%H:%M:%S'
          MAX_RETRY
          =60
          SLEEP_TIME
          =30
          #
          #
          虜脦媒潞
          #
          脦錄鎂鹵戮碌氐脴路
          #
          脦錄鎂ftp目碌牡脴路
          #
          ftp ip
          #
          ftp脫祿摟脙
          #
          ftp脙脗
          #

          #cal src file path
          dpath=sys.argv[1]
          print "[" + datetime.datetime.now().strftime(TF0)+"] - "+"dpath="+dpath
          #cal desc file path
          spath=sys.argv[2]
          ftp_addr
          =sys.argv[3]
          ftp_usr
          =sys.argv[4]
          ftp_pwd
          =sys.argv[5]
          ftp_method
          =sys.argv[6]
          print "[" + datetime.datetime.now().strftime(TF0)+"] - "+"spath="+spath
          print "[" + datetime.datetime.now().strftime(TF0)+"] - "+"ftp="+ftp_addr+",user="+ftp_usr+",pwd="+ftp_pwd


          if ftp_method == 'put' and os.path.isfile(spath) is False:
                  
          print "[" + datetime.datetime.now().strftime(TF0)+"] - [ERROR] "+"spath="+spath+" not exists"
          else:

                  
          for i in range(MAX_RETRY):
                          
          try:
                                  
          #ftp connection
                                  ftp = ftplib.FTP()
                                  ftp.set_debuglevel(
          2)
                                  ftp.connect(ftp_addr,
          21)
                                  ftp.login(ftp_usr, ftp_pwd)
                                  
          #ftp.mkd("test1")
                                  if ftp_method == 'put':
                                      
          print "put"
                                      ftp.storbinary(
          "STOR " + dpath, open(spath))
                                  
          if ftp_method == 'get':
                                      
          print "get"
                                      
          #ftp.set_pasv(True);
                                      ftp.retrbinary("RETR " + dpath, open(spath,'wb').write)
                                  
          #ftp.storlines("STOR " + dpath, open(spath))

                                  
          #check file
                                  sfile_size=os.path.getsize(spath)
                                  
          print "[%s] - file size=%.3fK" % (datetime.datetime.now().strftime(TF0), sfile_size/1024)
                                  dfile_size
          =ftp.size(dpath)
                                  
          if sfile_size == dfile_size:
                                          
          print "[" + datetime.datetime.now().strftime(TF0)+"] - "+"send file success"
                                          ftp.quit()
                                          ftp.close()
                                          
          break
                                  
          print "[%s] - failed on check: src size.%d != desc size%d" % (datetime.datetime.now().strftime(TF0),sfile_size,dfile_size)
                                  ftp.quit()
                                  ftp.close()
                          
          except Exception, myError:
                                  excType, excValue, traceBack 
          = sys.exc_info()
                                  
          print excType
                                  
          print myError
                                  
          #print excValue
                                  #print traceBack
                          time.sleep(SLEEP_TIME)





          整理 www.aygfsteel.com/Good-Game
          posted on 2008-12-11 18:00 劉凱毅 閱讀(157) 評論(0)  編輯  收藏 所屬分類: python
          主站蜘蛛池模板: 河东区| 建始县| 资源县| 弥勒县| 长白| 鹤峰县| 九寨沟县| 通江县| 靖边县| 柞水县| 江孜县| 平远县| 轮台县| 潼关县| 桃源县| 平度市| 寿阳县| 峨眉山市| 当阳市| 宣武区| 册亨县| 宜兴市| 大理市| 宜阳县| 南木林县| 樟树市| 河源市| 加查县| 嫩江县| 宜丰县| 万宁市| 新化县| 宣汉县| 贡觉县| 北海市| 商丘市| 丰顺县| 安乡县| 上饶县| 鄂伦春自治旗| 望城县|