2011-12-23 47 views
4

我已經編寫了一個shell腳本來通過筆記本電腦備份我的外部硬盤。我基本上已將外部硬盤驅動器連接到筆記本電腦的USB端口,並在腳本中運行以下命令以將1個硬盤驅動器備份到另一個硬盤驅動器。cygwin rsync在備份2個外部硬盤時速度較慢

rsync -arvv "$flg" --log-file="$LOGFILE" "$srcdir" $BAKUP_DIR 2> "$ERRFILE" 
$ rsync --version 
    rsync version 3.0.9 protocol version 30 

根據我想要如何備份目錄,flg可以是--delete或空格。我相信這個速度很慢,因爲我無法理解。我認爲這是在備份時不必要地傳輸文件。當通過資源管理器查看時,我可以看到文件部分正在發送(並正在增長),並想知道爲何如此。

和日誌文件...

grep -C 15 delta 2011-12-23-37_bk.log 
    2011/12/23 14:28:34 [8712] total: matches=0 hash_hits=0 false_alarms=0 data=2133674141 
    2011/12/23 14:28:35 [8712] sent 2133939896 bytes received 772 bytes 1854794.15 bytes/sec 
    2011/12/23 14:28:35 [8712] total size is 3901493999 speedup is 1.83 
    2011/12/23 14:28:35 [5072] building file list 
    2011/12/23 14:28:39 [5072] delta-transmission disabled for local transfer or --whole-file 

這是正常的或者是有什麼我失蹤?

回答

3

我最近在安裝Cygwin時遇到了與系統完全相同的問題:rsync太慢了。使用--progress選項,我可以看到rsync在外部USB 3.0磁盤和內部磁盤之間傳輸文件的速度只有2/3 MB /秒。

在類似的系統上,同樣的操作按預期工作(60/70 MBytes/sec)。

在嘗試了很多事情之後,我意識到系統中的「rsync --version」是3.0.9,我剛剛在系統上安裝了Cygwin和3.0.8,它工作正常。所以它看起來像3.0.9已經打破了一些東西。

我從一個系統通過其他系統的rsync.exe(v3.0.9)複製了rsync.exe(v3.0.8)文件,現在文件以預期的速度傳輸(60/70 MBytes/sec )。

2

我有完全相同的問題,我也通過安裝rsync版本3.0.8來解決它。但是,如果複製.exe,則可以重新執行cygwin的設置。在包管理器中搜索「rsync」時,安裝程​​序仍然包含安裝3.0.8的選項,這意味着您可以輕鬆地從3.0.9降級到3.0.8。從那裏一切都恢復到正常和最大。速度。

1

我也在使用Cygwin64上的rsync 3.0.9(〜3MB/s傳輸)時遇到此問題。

因爲它不在回購庫中,所以在Cygwin64上沒有選擇「返回」到3.0.8。

但是我下載rsync 3.1.0和手動構建它自己(只需要gcc和make安裝),這提高了很多。

3.1.0建立自己管理〜35MB/s。 Windows資源管理器副本速度更快(大約50MB/s),但我會接受它!

0

我有~4MB/s的rsync傳輸速率相同的問題。這個速度由資源監視器和-P rsync報告。它的任務是將大約200GB的備份文件從一個驅動器複製到另一個驅動器,並且過去好幾年它的工作需要花費大約1.5個小時來複制它們。不是真的很快,但對我來說足夠好。由於我幾年來沒有更新Cygwin,所以最近肯定有某些東西被破壞,無疑是由於Windows系統的一些更新。這項工作開始花費大約14個小時,這讓我看起來更接近。我更新我一直使用到最新版本(版本的rsync 3.1.0協議版本31)的X32 Cygwin和安裝了Cygwin x64版本,看它是否作出任何區別。不。

想這可能是一個或另一個可能被會壞的硬盤驅動器的,我確信這兩個完全磁盤碎片整理和任何垃圾的清理。然後我用「cp -au」替換了我用過的「rsync -a」命令並測量了吞吐量。使用cp,它可以讀取和寫入約100MB/s,這是硬件支持的功能,它在大約30分鐘內複製了〜200GB。所以rsync中的某些東西並不完全正確。

我的解決辦法是有利於CP的使用rsync放棄。這是更快的方式,只是前刪除目標上的整個目錄樹,並有CP複製一個全新的人比有rsync的做它的東西,以保持兩個目錄同步。可能有更好的選擇,但這對我有用。