ftp自動下載腳本


主動模式和被動模式轉自http://my.oschina.net/binny/blog/17469

#!/bin/bash
ftp -i -n -v IP << EOF     

#-i 關閉交互模式

#-n 關閉自動登錄功能

#-v 程序運行時顯示詳細的處理信息

user * *
lcd /tmp
passive   被動模式
prompt off  關閉交互確認
binary
cd test01/
mget *
close
bye
EOF

===========================================================================================================================

今天讓整個ftp的下載腳本,只能下載文件后來又百度了一下能不能直接下載目錄- - :

 

使用wget下載整個FTP目錄

 

#wget ftp://IP:PORT/* --ftp-user=xxx --ftp-password=xxx -r -c

 

備注:星號*必須有,否則下載下來的就一個文件index.html
-r參數就是用來目錄下載的
-c是使用斷點續傳,服務器要支持

 

可以寫到shell腳本中,后台執行。

 

#!/bin/sh
wget ftp://IP:PORT/* --ftp-user=xxx --ftp-password=xxx -r -c

 

保存為wget.sh,並賦予可執行權限

 

# chmod +x wget.sh

 

后台執行這個腳本,在命令后加“&”即可

 

./wget.sh &

 

如果希望把執行結果輸出到文件的話,前面加 nohup,默認輸出文件名為 nohup.out

 

nohup ./wget.sh &

 

如果要限速的話,加上--limit-rate=100k,代表限速100k,-c是斷點續傳的意思。

弄了半天還是linux命令強大啊 

轉自http://www.kevinick.com/archives/?article-401.html

 

============================================================================================

expect寫的ftp的腳本 純屬為了好看

#!/bin/bash
expect <<END
spawn ftp IP
expect ":root*" {send "*\n"}
expect "Password" {send "*\n"}
expect "ftp>" {send "cd test01\n"}
expect "ftp>" {send "lcd /tmp\n"}
expect "ftp>" {send "prompt off\n"}
expect "ftp>" {send "mget *\n"}
expect "ftp>" {send "bye"}
END

又復習了下ftp的知識着重又看了下ftp的主動模式和被動模式:

1.FTP的PORT(主動模式)和PASV(被動模式)

    (1) PORT(主動模式)

    PORT中文稱為主動模式,工作的原理: FTP客戶端連接到FTP服務器的21端口,發送用戶名和密碼登錄,登錄成功后要list列表或者讀取數據時,客戶端隨機開放一個端口(1024以上),發送 PORT命令到FTP服務器,告訴服務器客戶端采用主動模式並開放端口;FTP服務器收到PORT主動模式命令和端口號后,通過服務器的20端口和客戶端開放的端口連接,發送數據,原理如下圖:

 

2) PASV(被動模式)

    PASV是Passive的縮寫,中文成為被動模式,工作原理:FTP客戶端連接到FTP服務器的21端口,發送用戶名和密碼登錄,登錄成功后要list列表或者讀取數據時,發送PASV命令到FTP服務器, 服務器在本地隨機開放一個端口(1024以上),然后把開放的端口告訴客戶端, 客戶端再連接到服務器開放的端口進行數據傳輸

2.兩種模式的比較

     從上面的運行原來看到,主動模式和被動模式的不同簡單概述為: 主動模式傳送數據時是“服務器”連接到“客戶端”的端口;被動模式傳送數據是“客戶端”連接到“服務器”的端口。

    主動模式需要客戶端必須開放端口給服務器,很多客戶端都是在防火牆內,開放端口給FTP服務器訪問比較困難。

    被動模式只需要服務器端開放端口給客戶端連接就行了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM