
我使用 wget 從 FTP 伺服器取得檔案。我這樣做:
wget ftp://username:[email protected]/public_html/images/audiothumbs/* .
下載約 1600 個檔案後,出現以下錯誤:
--2010-09-07 01:36:51-- http://./
Resolving .... failed: Name or service not known.
wget: unable to resolve host address `.'
FINISHED --2010-09-07 01:36:52--
Downloaded: 1998 files, 20M in 3m 31s (95.7 KB/s)
我與其他伺服器的連線是否已中斷?
其次,如果像這樣使用 no-clobber 選項:
wget -r -nc ftp://username:[email protected]/public_html/images/audiothumbs/* .
為什麼文件仍然被覆蓋?
感謝大家的幫助
答案1
.
你的命令列末尾有一個額外的內容。wget
不像cp
且不採用目標目錄。因此,在從 FTP 伺服器下載所有檔案後,它會嘗試從伺服器下載檔案(使用 HTTP).
。
對於-nc
,它被記錄為執行與您期望不同的操作:
在沒有 -N、-nc 或 -r 的情況下執行 Wget 時,下載相同的文件 在同一目錄中將產生檔案的原始副本 被保留,第二個副本被命名為 file.1。如果說 再次下載文件,第三個副本將命名為 file.2, 等等。當指定 -nc 時,此行為將被抑制,並且 Wget 將拒絕下載檔案的較新副本。所以, 「no-clobber」實際上是這種模式下的用詞不當——它不是 防止破壞(因為數字後綴已經 防止破壞),而是多版本保存 這已經被阻止了。
答案2
請注意,下載目錄中的最大遞歸次數為 5!
使用 wget 從 ftp 下載時,必須設定遞歸深度:
-l depth
--level=depth
指定遞歸最大深度等級深度。預設最大深度為 5。