-n不受.netrc文件的影响。(ftp默认为读取.netrc文件中的设定) !是即时文件的标志它必须成对出现,以标识即时文件的开始和结尾 binary-设置文件传输类型为binary(二进制传输) prompt-开关交互提示(默认为ON) close-结束FTP会话并返回命令行 quit-结束FTP会话并退出FTP(功能通bye) mget-复制一个或多个远程文件至本地 get-复制单个远程文件到本地 put-复制一个本地文件到远程 mput-复制一个或多个本地文件到远程 hash-Toggleshash-sign(#)printingforeachdatablocktransferred(default=OFF)为每个缓冲区传输切换打印“#”(哈希标记打印)
#####从ftp服务器上的/home/data到本地的/home/databackup#### #!/bin/bash ftp -n<<! open192.168.1.171 userguest123456 binary cd/home/data lcd/home/databackup prompt mget* close bye !
####本地的/home/databackuptoftp服务器上的/home/data#### #!/bin/bash ftp -n<<! open192.168.1.171 userguest123456 binary hash cd/home/data lcd/home/databackup prompt mput* close bye !
####ftp服务器上下载/home/data/a.shtolocal/home/databackup#### #!/bin/bash ftp -n<<! open192.168.1.171 userguest123456 binary cd/home/data lcd/home/databackup prompt geta.sha.sh close bye !
####把本地/home/databachup/a.shupftp/home/databackup下#### #!/bin/bash ftp -n<<! open192.168.1.171 userguest123456 binary cd/home/data lcd/home/databackup prompt puta.sha.sh close bye !
5.python登陆ftp并下载
ftp登陆连接 fromftplibimportFTP#加载ftp模块 ftp=FTP()#设置变量 ftp.set_debuglevel(2)#打开调试级别2,显示详细信息 ftp.connect("IP","port")#连接的ftpsever和端口 ftp.login("user","password")#连接的用户名,密码 printftp.getwelcome()#打印出欢迎信息 ftp.cmd("xxx/xxx")#进入远程目录 bufsize=1024#设置的缓冲区大小 filename="filename.txt"#需要下载的文件 file_handle=open(filename,"wb").write#以写模式在本地打开文件 ftp.retrbinaly("RETRfilename.txt",file_handle,bufsize)#接收服务器上文件并写入本地文件 ftp.set_debuglevel(0)#关闭调试模式 ftp.quit()#退出ftp ftp相关命令操作 ftp.cwd(pathname)#设置FTP当前操作的路径 ftp.dir()#显示目录下所有目录信息 ftp.nlst()#获取目录下的文件 ftp.mkd(pathname)#新建远程目录 ftp.pwd()#返回当前所在位置 ftp.rmd(dirname)#删除远程目录 ftp.delete(filename)#删除远程文件 ftp.rename(fromname,toname)#将fromname修改名称为toname。 ftp.storbinaly("STORfilename.txt",file_handel,bufsize)#上传目标文件 ftp.retrbinary("RETRfilename.txt",bufsize)#下载FTP文件
登陆ftp查看文件
#!/usr/bin/envpython #_*_coding:utf8_*_ importftplib #fromftplibimportFTP ftp=ftplib.FTP("123.56.1.1") ftp.login("user","passwd") data=[] ftp.cwd("hxy/tmp") ftp.dir(data.append) ftp.quit() forlineindata: print(line)
#coding:utf-8 fromftplibimportFTP importtime importtarfile #!/usr/bin/python #-*-coding:utf-8-*- fromftplibimportFTP defftpconnect(host,username,password): ftp=FTP() #ftp.set_debuglevel(2)#打开调试级别2,显示详细信息 ftp.connect(host,21)#连接 ftp.login(username,password)#登录,如果匿名登录则用空串代替即可 returnftp defdownloadfile(ftp,remotepath,localpath): bufsize=1024#设置缓冲块大小 fp=open(localpath,'wb')#以写模式在本地打开文件 ftp.retrbinary('RETR'+remotepath,fp.write,bufsize)#接收服务器上文件并写入本地文件 ftp.set_debuglevel(0)#关闭调试 fp.close()#关闭文件 defuploadfile(ftp,localpath): bufsize=1024 fp=open(localpath,'rb') ftp.storbinary('STOR'+remotepath,fp,bufsize)#上传文件 ftp.set_debuglevel(0) fp.close() if__name__=="__main__": ftp=ftpconnect("******","***","***") downloadfile(ftp,"***") uploadfile(ftp,"***") ftp.quit()
本文参考:
http://www.cnblogs.com/kaituorensheng/p/4480512.html
原文链接:https://www.f2er.com/bash/391142.html