使用 WGET 從 FTP 伺服器傳輸檔案的問題

使用 WGET 從 FTP 伺服器傳輸檔案的問題

我使用 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。

相關內容