2010-07-22 39 views

回答

0

我認爲這會每次創建一個單獨的連接。但是,使用-r標誌(Net :: SCP使用的)的scp遞歸複製一個目錄中的所有文件並使用單個連接。如果您的文件位於幾個目錄中,並且您想要複製這些目錄中的所有文件,那麼這可能就是要走的路。

否則,帶有--files-from選項的rsync應該只使用一個連接。 (不要忘記-z壓縮,或-a)。

如果您考慮使用perl來執行此操作的唯一原因是您想要單個會話,那麼只需使用命令行rsync即可獲得此效果(使用--files-from)。如果你想讓perl能夠生成文件列表 - 來自File :: Rsync的支持。

1

除非您在每個單獨的TCP連接上都有帶寬限制,否則使用多個SCP連接不會顯着減少下載時間。

您可以通過爲shell腳本中的每個文件分別放置scp命令並對腳本進行計時來檢查是否加快速度。然後在每個scp行末尾重新運行shell腳本&。如果這樣可以加快傳輸速度,並且希望在Perl中完成此操作,請查看forkParallel::ForkManager