我打算很快為我管理的一些資源密集型網站建立一個真正的 vps 伺服器。在我生活的國家,1Mb/s 的網速是一種奢侈,而持續不間斷的電力則是個神話。
這就是我想要實現的目標:
- 如何透過 SSH/SCP 將檔案和目錄從來源伺服器複製到目標伺服器。
- 即使我的互聯網斷開或電源中斷,如何仍然在伺服器之間複製檔案。
- 如果我關閉終端機窗口,如何使文件仍在兩台伺服器之間複製。
我知道可以透過 scp 進行複製,但當我離線時它似乎無法繼續工作。
答案1
rsync -azvP source_directory user@remote:remote_directory
應該允許您在兩台電腦之間複製文件,同時在發生中斷時保存進度。
這裡還有每個標誌的解釋。http://explainshell.com/explain?cmd=rsync+-azvP
如果您希望在未登入的情況下允許它在伺服器上運行,您可以將上述命令傳遞給命令nohup
。您還可以在 tmux 會話中運行它,這將允許您透過在登入電腦時附加會話來監視進度(或重新啟動命令)。
tmux
您可以透過在伺服器上鍵入來啟動 tmux 會話。然後,您可以執行 rsync 命令並透過鍵入CTRL+b
和 來與 tmux 會話分離d
。註銷不會影響複製過程。重新登入後,您可以鍵入內容tmux attach
,並且可以查看複製操作的進度。
希望這可以幫助!如果我能澄清任何事情,請告訴我。
答案2
我強烈建議您看看使用 rsync 命令。 rsync 指令很有用,因為它可以輕鬆恢復傳輸。 Rsync 預設會透過 SSH 傳輸執行,您只需要在用戶端和伺服器上安裝 rsync 二進位檔案。
Rsync 會偵測已傳輸的檔案並且只傳輸檔案以及尚未傳輸的部分檔案。
答案3
我相信這應該可以解決問題:
nohup scp -r big-folder remote-machine:/home/user/ &
此命令啟動複製過程,並在您登出後繼續複製。