py ftp

简介:
./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)

本文转自博客园刘凯毅的博客,原文链接:py ftp,如需转载请自行联系原博主。
目录
相关文章
|
Python
py ftp
py ftp
67 4
|
SQL 分布式计算 DataWorks
DataWorks常见问题之dataworks连接FTP服务器失败如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
6月前
|
Ubuntu 安全 网络安全
在Ubuntu系统下使用vsftpd配置FTP服务器的步骤
以上就是在Ubuntu系统下使用vsftpd配置FTP服务器的步骤。这些步骤都是基础的,但足够让你建立一个简单的FTP服务器。如果你需要更高级的功能,例如SSL加密、虚拟用户等,你可能需要进一步研究vsftpd的配置选项。
346 13
|
10月前
|
安全 编译器 Linux
深入解析与防范:基于缓冲区溢出的FTP服务器攻击及调用计算器示例
本文深入解析了利用缓冲区溢出漏洞对FTP服务器进行远程攻击的技术,通过分析FreeFlow FTP 1.75版本的漏洞,展示了如何通过构造过长的用户名触发缓冲区溢出并调用计算器(`calc.exe`)。文章详细介绍了攻击原理、关键代码组件及其实现步骤,并提出了有效的防范措施,如输入验证、编译器保护和安全编程语言的选择,以保障系统的安全性。环境搭建基于Windows XP SP3和Kali Linux,使用Metasploit Framework进行攻击演示。请注意,此内容仅用于教育和研究目的。
271 4
|
12月前
|
网络协议 文件存储 Windows
Windows Server 2019 FTP服务器搭建
Windows Server 2019 FTP服务器搭建
367 0
|
12月前
|
安全 网络协议 网络安全
Windows Server 2003 FTP服务器搭建
Windows Server 2003 FTP服务器搭建
170 0
|
12月前
|
弹性计算 关系型数据库 网络安全
阿里云国际版无法连接和访问Windows服务器中的FTP服务
阿里云国际版无法连接和访问Windows服务器中的FTP服务
|
安全 Ubuntu Linux
在Linux中,如何进行FTP服务器配置?
在Linux中,如何进行FTP服务器配置?
|
网络协议 Unix 网络安全
FTP服务器怎么搭建?Windows server搭建FPT服务器
FTP服务器是按照FTP协议提供文件传输服务的计算机。它用于在两台计算机间安全地传输文件,支持用户权限管理和跨平台操作。FTP使用控制连接处理命令,数据连接传输文件,有PORT和PASV模式。要搭建FTP服务器,首先在Windows Server 2008 R2上安装IIS,确保选中FTP服务。接着,创建FTP文件夹作为站点根目录,通过IIS管理器添加FTP站点,配置站点信息、身份验证和权限。测试客户端通过telnet和浏览器访问FTP服务器,确认能成功登录及浏览文件。FTP常用于文件共享和管理,可通过专用工具如FlashFXP上传下载文件。
551 0
FTP服务器怎么搭建?Windows server搭建FPT服务器
|
存储 数据库连接 数据库
如何使用Python上传文件到FTP服务器
如何使用Python上传文件到FTP服务器
310 1