博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux中下载ftp文件的几个方法
阅读量:5906 次
发布时间:2019-06-19

本文共 1190 字,大约阅读时间需要 3 分钟。

  hot3.png

一、最简单的方法: wget

下面的命令用来下载ftp服务器上指定目录的所有文件

  1. wget ftp://IP:PORT/* --ftp-user=xxx --ftp-password=xxx -r  

-r 参数表示递归下载;

 

可以使用--directory-prefix=/mypath/ 指定下载后存储路径;-nH选项可以不在本地创建服务器上的目录结构

另一个令人迷惑的选项是--delete-after,它并不是用来删除服务器上的已下载文件,而是用来删除本机的;

wget之所以是wget而不是wput,它只能进行下载操作,不支持对ftp服务器上的任何写操作,比如删除。

二、可以删除文件的方法:lftp

项目需求是下载ftp服务器上的指定文件夹取内的所有文件,并于下载后删除,wget不能满足要求,于是改写出下面的脚本。

mget命令可以下载多个文件,-E参数表示下载后删除服务器上的文件。

 

  1. #!/bin/bash  
  2. #指定ftp服务器的ip  
  3. serverip=1.2.3.4  
  4. #指定ftp服务器的ftp用户  
  5. serveruser=root  
  6. #指定ftp服务器的ftp用户密码  
  7. serverpass=123456  
  8. #指定client主机本地下载文件存放的目录  
  9. localdir=./data  
  10. logfile=../log/ftp_download.log  
  11. #指定server主机的ftp目录  
  12. remotedir=./  
  13. #指定server主机的主机名  
  14. host=test_host  
  15. #切换到本地下载文件存放的目录  
  16. cd $localdir  
  17. #输入开始备份的信息  
  18. echo "Starting FTP Download on " $host  
  19. #连接ftp服务器  
  20. /usr/bin/lftp << EOF  
  21. open $serverip  
  22. user $serveruser $serverpass  
  23. #切换到server主机的ftp目录  
  24. echo "cd " $remotedir  
  25. cd $remotedir  
  26. #列出ftp服务器ftp目录中文件列表并存放到client中的$localdir中  
  27. ls . >> $logfile  
  28. #下载ftp服务器ftp目录中的所有文件  
  29. mget -E *.txt  
  30. #退出ftp服务器  
  31. bye  

三、其他方法

 

系统中的ftp命令,和强大的。

curl支持FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET 和TFTP,方便在自己的程序中调用。同时支持cookie、代理、密码和证书验证。非常强大。

 

转载于:https://my.oschina.net/jywm/blog/747387

你可能感兴趣的文章
如何通过Composer安装Laravel?
查看>>
人工智能是否会超越人类智慧?- 施米德休教授采访
查看>>
评判云服务靠谱程度 -- Coding 安全那些事
查看>>
如何使用gulp给资源文件加上版本
查看>>
大转变,苹果或于明年推出使用 ARM 芯片的 Mac
查看>>
RxJava 2.2.7 发布,Rx 的 Java 实现
查看>>
火星仍然活跃,NASA洞察号首次探测到地震信号
查看>>
日本显示屏巨头JDI不敌业务压力,宣布接受中方注资 ...
查看>>
济南重点扶持VC/PE,落户最高给2000万;光大控股全球并购基金完成最终关账,承诺出资约5.39亿美元 ...
查看>>
老师语录
查看>>
威胁快报|Nexus Repository Manager 3新漏洞已被用于挖矿木马传播,建议用户尽快修复 ...
查看>>
Linux基础命令---traceroute路由追踪
查看>>
阿里云 Aliplayer高级功能介绍(四):直播时移
查看>>
Objective-C中的associated object释放时机问题
查看>>
如何使用phpMQTT连接阿里云微服务消息队列for IoT
查看>>
有没有适合中小企业的堡垒机?
查看>>
企业OA办公平台在信息发布方面有哪些共性需求?
查看>>
Linux基础命令---gunzip
查看>>
两大核心能力助力,中小险企破局生态建设——保险生态建设
查看>>
MCU上的代码执行时间
查看>>