Rsync

rsync 命令每次花費的時間太長

  • March 11, 2022

很長一段時間以來,我一直在使用 rsync 和 USB 數據線將照片從手機的 SD 卡傳輸到 PC。這是目前命令:

rsync -azvu --ignore-existing --progress SD-Karte/DCIM/Camera/  /home/cardamom/Pictures/PhonePictures/

通過反複試驗和閱讀文件,我花了一段時間才把它弄好。每個目錄中可能有數千張照片,但人們不會認為將兩個列表進行一千長的比較需要一台電腦那麼長時間,如果源中有任何不在目標中的內容,請將其帶到那裡。

然而,如果我用手機多拍一張照片,或者甚至沒有額外的照片,它會在那裡坐兩三分鐘,然後在大約一秒鐘內傳輸一張照片。

我不確定瓶頸是否在 rsync 命令中,它正在做一些我不需要的事情,比如比較文件的雜湊值,或者它是否在舊智能手機的 SD 卡中,這在某種程度上具有很大的低效率。

rsync 命令中是否有任何效率低下的地方,或者是某種措施讓它在手機內執行得更快?

如果花費的時間太長,可能是因為rsync無法應用它quick check,僅依賴於大小和時間。

請注意,不同的文件系統以不同的方式儲存時間,這意味著 rsync儲存的內容並不總是以後檢索的內容。

發生這種情況時,rsync無法應用快速檢查並轉向校驗和檢查,這會迫使它讀取整個文件以確保它是同一個文件,從而減慢整個傳輸速度。

ls -l --time-style=full-iso original_file
ls -l --time-style=full-iso already_synced_file

告訴你是不是這樣。如果是,您至少有兩個選擇,具體取決於它們的距離:

  • 添加--size-only選項以僅檢查大小而不檢查時間。
  • 使用該--modify-window選項將其考慮在內。

引用自:https://unix.stackexchange.com/questions/592522