我正面臨着這個問題,即現有腳本運行時間過長。在進一步的調查中,我認爲這是因爲每個被傳輸的文件都正在建立一個新的SFTP連接。當然批量傳輸文件將會更快。是否有任何關於批量傳輸文件以及記錄每個文件或只是有問題的文件的建議,即僅在傳輸中導致錯誤的文件(爲了用戶支持的目的,這需要容易跟蹤文件)。目前我已經嘗試使用腳本SFTP/SSH/SCP都具有大致相同的傳輸速度。所以這些協議中的任何一個都應該沒問題。我只需要一些想法。SCP/SSH/SFTP有關最佳文件傳輸策略的建議
0
A
回答
1
如何使用的文件外卡在你的檔案模式?即
cd sendDir; scp newFiles* [email protected]:/target/path
例如?
你「當然散裝transfering文件會這麼多快。」寫道:我希望你在開玩笑。如果您的文件需要幾分鐘或幾小時才能發送,重新啓動scp將無關緊要。據推測,轉移的最慢部分是「在線」發送數據的時間。所以......來自@Johnsyweb的關於使用scp壓縮的良好評論,但是這需要時間並且可以在100%的時間激活一個CPU?秒,分鐘?那麼這將如何影響您發送方的其他正在進行的工作。如果你這樣做是爲了工作,而且它會被使用很多,這將是值得測試的。
至於有關問題的文件信息,保存從SCP輸出到日誌文件。
scp newFiles* [email protected]:/target/path > /tmp/yourSystem/scpScriptLogFile.txt 2>&1
兼評,當你覺得有問題,或者你得到後拍攝的一些錯誤信息,使過濾器的腳本,發電子郵件給你任何相關問題的信息。
我希望這會有所幫助。
0
rsync
是企業。
rsync -chavz --partial --progress --stats source_files remotehost.domain:target_dir
其中:
--checksum -c -- skip based on checksums, not mod-time & size
--human-readable -h -- output numbers in a human-readable format
--archive -a -- archive mode; same as -rlptgoD (no -H)
--verbose -v -- increase verbosity
--compress -z -- compress file data during the transfer
--partial -- keep partially transferred files
--progress -- show progress during transfer
--stats -- give some file-transfer stats
偉大的事情有關rsync
的是,它僅複製它所需要。所以如果你第二次運行這個命令,它應該什麼也不復制(除非其中一個文件在其間任何一端都改變了)。如果您的傳輸以某種方式中斷,這也很有用。上述命令的輸出將爲您提供一些有關加速文件傳輸速度的信息。
0
使用某種SFTP模塊可用的腳本語言。
例如,在Perl中你的Net :: SFTP ::國際:
$sftp = Net::SFTP::Foreign->new($host);
for my $file (@files) {
$sftp->put("$local_dir/$file", "$remote_dir/$file");
}
這樣相同的SSH連接將被用於所有傳輸。
另一種選擇是在遠程主機本地(.tgz的)創建一個檔案文件,然後將其傳送並解壓縮:
tar czf - file1 file2 ... | ssh $host tar xzf -
相關問題
- 1. 有關最佳ASP.NET文件上傳工具的建議
- 2. 最佳策略值
- 3. 最佳策略引用
- 4. JavaScript繼承最佳策略
- 5. 最佳同步策略
- 6. 最佳小便器策略
- 7. 有關p3p策略編輯器的任何建議?
- 8. 將文本行添加到文本文件的最佳策略
- 9. 傳統應用程序遷移策略 - 策略需要的建議
- 10. 將文件附加/上傳至尚未保存注 - 此策略的最佳策略是什麼?
- 11. 用Ruby on Rails處理大文件上傳的最佳策略是什麼?
- 12. 在啓動時只讀一次文件的最佳策略?
- 13. 在Apache Camel中處理大型CSV文件的最佳策略
- 14. MVC中定製配置文件屬性的最佳策略3
- 15. ZK的最佳國際化策略
- 16. Refit ApiException的最佳重試策略?
- 17. 多任務的最佳線程策略
- 18. RNN的最佳設備放置策略?
- 19. SVN - 同步分支的最佳策略
- 20. 堅持ISO8601的最佳策略
- 21. 閱讀J代碼的最佳策略
- 22. 爲2人遊戲的最佳策略
- 23. MySQL DB的最佳索引策略
- 24. jQuery動畫的最佳策略
- 25. 高級Rails調試的策略建議?
- 26. 使用CFPARAM的策略/建議
- 27. 高效的TFS分支策略建議
- 28. Django緩存策略需要的建議
- 29. 最佳my.cnf建議
- 30. 關於IIS中最大文件上傳大小的建議
眼下的rsync沒有安裝在服務器中。使用SFTP/SSH/SCP執行同樣的事情還有其他的方法嗎? –
安裝很簡單。請參閱http://rsync.samba.org/。如果沒有這個,你可以查看[manp for scp](http://www.manpagez.com/man/1/scp/osx-10.6。PHP)並調整您的壓縮設置等... – Johnsyweb