linux中下載ftp檔案的幾個方法__linux

來源:互聯網
上載者:User

一、最簡單的方法: wget

下面的命令用來下載ftp伺服器上指定目錄的所有檔案

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參數表示下載後刪除伺服器上的檔案。

#!/bin/bash#指定ftp伺服器的ipserverip=1.2.3.4#指定ftp伺服器的ftp使用者serveruser=root#指定ftp伺服器的ftp使用者密碼serverpass=123456#指定client主機本地下載檔案存放的目錄localdir=./datalogfile=../log/ftp_download.log#指定server主機的ftp目錄remotedir=./#指定server主機的主機名稱host=test_host#切換到本地下載檔案存放的目錄cd $localdir#輸入開始備份的資訊echo "Starting FTP Download on " $host#串連ftp伺服器/usr/bin/lftp << EOFopen $serveripuser $serveruser $serverpass#切換到server主機的ftp目錄echo "cd " $remotedircd $remotedir#列出ftp伺服器ftp目錄中檔案清單並存放到client中的$localdir中ls . >> $logfile#下載ftp伺服器ftp目錄中的所有檔案mget -E *.txt#退出ftp伺服器bye
三、其他方法

系統中的ftp命令,和強大的curl。

curl支援FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET 和TFTP,方便在自己的程式中調用。同時支援cookie、代理、密碼和認證驗證。非常強大。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.