在linux系統下使用sftp(secure file transfer protocol)進行大文件傳輸時,可以采用以下技巧來提高效率和穩定性:
使用put和get命令上傳和下載大文件
-
上傳大文件:使用put命令將本地文件上傳到遠程服務器。例如,要將本地文件largefile.tar.gz上傳到遠程服務器的/backups目錄,可以使用命令:
sftp> put largefile.tar.gz /backups/largefile.tar.gz
-
下載大文件:使用get命令從遠程服務器下載大文件到本地。例如,要從遠程服務器的/backups目錄下載文件largefile.tar.gz,可以使用命令:
sftp> get /backups/largefile.tar.gz
使用mput和mget命令批量傳輸文件
-
上傳多個文件:使用mput命令上傳多個本地文件到遠程服務器。例如,要上傳當前目錄下的所有.txt文件,可以使用命令:
sftp> mput *.txt
-
下載多個文件:使用mget命令從遠程服務器下載多個文件。例如,要下載遠程服務器/backups目錄下的所有.txt文件,可以使用命令:
sftp> mget /backups/*.txt
使用-r選項遞歸傳輸目錄
-
上傳整個目錄:使用put -r命令遞歸上傳整個本地目錄及其子目錄和文件到遠程服務器。例如,要上傳本地目錄myfolder到遠程服務器的/backups/myfolder,可以使用命令:
sftp> put -r myfolder /backups/myfolder
-
下載整個目錄:使用get -r命令遞歸下載整個遠程目錄及其子目錄和文件到本地。例如,要從遠程服務器的/backups/myfolder下載整個目錄,可以使用命令:
sftp> get -r /backups/myfolder ./myfolder
使用-C選項啟用壓縮功能
-
加速傳輸:使用-C選項啟用ssh的壓縮功能,可以加快傳輸速度。例如,要壓縮本地文件largefile.tar.gz后再上傳,可以使用命令:
sftp> put -C largefile.tar.gz /backups/largefile.tar.gz.gz
在屏幕或tmux會話中運行SFTP命令
- 保持會話:在傳輸大文件時,建議在屏幕或tmux會話中運行SFTP命令,以防止因網絡中斷而導致傳輸失敗。
使用SSH密鑰進行無密碼登錄
- 提高效率:為了提高傳輸效率,建議創建SSH密鑰并設置無密碼SFTP登錄,這樣可以避免每次傳輸時都需要輸入密碼。
自動化文件傳輸
以上技巧可以幫助您在Linux系統下使用SFTP高效、安全地傳輸大文件。