
我計劃從安裝在 SAN(板外)上的 linux o/sa 目錄移至外部儲存進行備份。目錄大小為14TB
.
我確實有使用 rsync 將檔案移入/移出的經驗,但從未像現在這樣對大尺寸目錄/檔案這樣做。
這些目錄按年/月/日/小時層次結構排列,並支援原始日誌進行分析。
問題
綜上所述,由於資源限制,我無法將完整的 14TB 移至外部/備份儲存空間。我目前擁有的備份空間最大為 8 TB。那麼是否有一個命令或開關/參數我可以告訴 rsync 僅將檔案複製到提到的大小,即僅 TB。
筆記 我不太關心文件的性質,只是超出了一定的大小,我不想移動任何資料。
答案1
透過提供限制,當 rsync 複製了一定數量的位元組時,您無法讓 rsync 停止。就可以正常運作了
rsync -a /src/ /dest
當 /dest 已滿時,它將停止並出現錯誤
rsync: write failed on "...": No space left on device (28)
你可以用腳本做一些事情
find /src -printf "%p %s\n" >filelist_size
然後使用 awk 之類的東西來讀取filelist_size
並列印檔案名稱(filelist
如果檔案大小的總和低於某個閾值)。
然後您可以使用files-from=filelist
rsync 的參數。
用 python 寫這篇可能會更容易。