Ssh
scp 遠端文件並附加到本地文件
我有多個文件要從遠端伺服器中提取。為了進一步處理本地伺服器中的文件,我需要將它們合併(連接)到單個文件中,但這不能在遠端文件中完成。
我不確定
scp
內部是如何工作的,但為了獲得最佳性能,我認為與其將這些文件寫入本地目錄然後合併,我覺得我應該即時合併它們然後寫入單個文件。您能否讓我知道是否可以在scp
從遠端文件到本地文件期間即時合併(附加)文件?如果沒有更好的主意?
直接使用 SSH 而不是 scp 並執行
cat
. 你會在哪裡做:scp remote:{file1,file2...} local-dir
而是這樣做:
ssh remote cat file1 file2 ... > locale-file
這很愚蠢,但似乎您實際上可以
scp
通過將遠端文件複製到本地 fifo 並將它們從其中導出來執行此操作:$ mkfifo p $ while :; do cat p >> output ; done & $ scp somehost:test/\* p bar 100% 4 10.9KB/s 00:00 doo 100% 4 8.6KB/s 00:00 foo 100% 4 13.6KB/s 00:00 $ kill %1 # output contains the files concatenated
(在 Debian 上使用 OpenSSH 7.4p1-10+deb9u2 測試)