2015-04-04 63 views
0

我想通過ftp下載一堆.txt.gz文件。我寫過這個shell腳本。如何在沒有指定每個文件的情況下獲取服務器上的所有文件? 一些代碼..使用shell腳本自動執行ftp下載

#!/bin/bash 
ftp -i -n <<Here 
open ftplink.com 
user Username password 
bin 
get XXX_xxxx_mp.txt.gz 
get XXX_xxxx_mp.txt.gz 
close 
quit 
Here 
+0

你不能使用像'得到* _mp.txt.gz'通配符? – ShellFish 2015-04-04 07:26:50

+0

@ShellFish不只是試圖得到* _mp.txt.gz它給了我一個550未知的文件錯誤 – BenH 2015-04-04 07:36:08

+0

使用'mget'而不是'get',如果不行的話,嘗試不使用'-n'標誌。 – ShellFish 2015-04-04 07:40:41

回答

0

使用wget代替:

wget ftp://user:[email protected]/dir/*_mp.txt.gz 
+0

這是我看到,當我使用wget 。列出[<=>] 137.96K 29.4KB/s在4.7s ==> PASV ...完成。 ==> LIST ...完成。 .listing在18S [<=>] 137.96K 105KB/s的 2015-04-09 9時25分54秒(15.1 KB/S) - '.listing' 保存[282550] 刪除 '.listing'。 模式上沒有匹配'* _mp.txt.gz' – BenH 2015-04-04 16:25:17

+0

@BenH確保你指定了正確的目錄。 /不對應於使用'ftp'登錄的默認目錄 – 2015-04-04 16:50:56