Linux

將單個文件夾中的 1000 萬張圖像複製到另一台伺服器

  • July 1, 2010

現在我知道你不應該一開始就將 1000 萬個文件放在一個目錄中。歸咎於開發人員,但就目前而言,這就是我所處的位置。我們將修復它並將它們移動到文件夾組中,但首先我們必須將它們從生產盒中複製出來。

我第一次嘗試 rsync 但它會失敗。我認為這是因為將文件的名稱和路徑儲存在記憶體中大於記憶體和交換空間。

然後我嘗試將它全部壓縮成一個 tar.gz 但它無法解壓縮它,文件太大錯誤(它是 60gigs)。

我試圖只做一個 tar 到 tar 提取,但我得到一個“無法打開:文件太大”

tar c images/ | tar x –C /mnt/coverimages/

額外的資訊:

/mnt/coverimages/ 是我們要將圖像移動到的 nfs 共享。

所有文件都是圖像

作業系統:Gentoo

如果您安裝 rsync 3+ 版本,它將生成要傳輸的文件的滾動列表,並且不需要將整個文件列表保存在記憶體中。將來您可能會考慮對文件名進行散列處理並根據這些散列的一部分創建目錄結構。

您可以查看此答案以了解我對散列的含義。

如果我可以安排停機時間,我會簡單地臨時移動磁碟。

引用自:https://serverfault.com/questions/156345