您的位置:首頁技術文章
文章詳情頁

Linux在兩個服務器直接傳文件的操作方法

瀏覽:77日期:2023-03-07 14:40:22
目錄
  • 1.當從一個遠程服務器傳輸文件到另一個服務器上(你想傳給別人文件)
  • 2.在本地服務器,從另一個服務器中獲取文件(你想從別人獲取文件)

scp是secure copy的簡寫, 是 linux 系統下基于 ssh 登陸進行安全的遠程文件拷貝命令。scp 是加密的,rcp 是不加密的,scp 是 rcp 的加強版。

因為scp傳輸是加密的,可能會稍微影響一下速度。另外,scp還非常不占資源,不會提高多少系統負荷,在這一點上,rsync就遠遠不及它了。雖然 rsync比scp會快一點,但當小文件眾多的情況下,rsync會導致硬盤I/O非常高,而scp基本不影響系統正常使用。

場景:假設我現在有兩臺服務器(這里的公網ip和內網ip相互傳都可以,當然用內網ip相互傳比較快,**公網ip不便公布)

Sessions1: 47.95.208.2**內網:172.17.31.174User:rootSessions2: 47.94.92.2**內網:172.17.31.173User:root

這里常用的兩種辦法:

1.當從一個遠程服務器傳輸文件到另一個服務器上(你想傳給別人文件)

現在我們登錄172.17.31.173這臺服務器,想把當前的 test.mysql 傳給別人( 172.17.31.174 這臺服務器)

hostname -i 可以查看當前ip

命令:

scp test.sql root@172.17.31.174:/data/

如果兩臺服務器直接沒有配置免密登錄的話需要輸入密碼。

這里的ip我用的是內網ip,所以傳的快點兒,走公網的話就慢很多(親測)

傳輸完成!

在ip為后綴174的服務器查看一下:

附錄:

scp [可選參數] file_source file_target

常用的-r,-C

-1: 強制scp命令使用協議ssh1-2: 強制scp命令使用協議ssh2-4: 強制scp命令只使用IPv4尋址-6: 強制scp命令只使用IPv6尋址-B: 使用批處理模式(傳輸過程中不詢問傳輸口令或短語)-C: 允許壓縮。(將-C標志傳遞給ssh,從而打開壓縮功能)-p: 保留原文件的修改時間,訪問時間和訪問權限。-q: 不顯示傳輸進度條。-r: 遞歸復制整個目錄。-v: 詳細方式顯示輸出。scp和ssh(1)會顯示出整個過程的調試信息。這些信息用于調試連接,驗證和配置問題。-c cipher:以cipher將數據傳輸進行加密,這個選項將直接傳遞給ssh。-F ssh_config:    指定一個替代的ssh配置文件,此參數直接傳遞給ssh。-i identity_file: 從指定文件中讀取傳輸時使用的密鑰文件,此參數直接傳遞給ssh。-l limit: 限定用戶所能使用的帶寬,以Kbit/s為單位。-o ssh_option:    如果習慣于使用ssh_config(5)中的參數傳遞方式,-P port:  注意是大寫的P, port是指定數據傳輸用到的端口號-S program:       指定加密傳輸時所使用的程序。此程序必須能夠理解ssh(1)的選項。

2.在本地服務器,從另一個服務器中獲取文件(你想從別人獲取文件)

在173服務data目錄中新建一個local_test 用來測試文件夾(測試-r參數的)

然后轉到本地服務器(*174這一臺),這里的本地服務器是相對的。

命令:

scp -r root@172.17.31.173:/data/local_test /data/

拷貝文件夾則需要在scp后面加上-r

大白話描述:

scp root@遠程的服務器Ip:文件路徑 存放路徑

在遠程服務器上拷貝到本地服務器(登錄遠程服務器傳給別人(本地)文件文件)

命令:

scp test.sql root@172.17.31.174:/data/

需要別人(本地)的ip地址傳輸

在本地服務器登錄,從遠程服務器獲取文件(自己主動去別人哪里獲取文件)

命令:

scp -r root@172.17.31.173:/data/local_test /data/

需要遠程ip(別人)地址獲取文件

到此這篇關于Linux在兩個服務器直接傳文件的操作方法的文章就介紹到這了,更多相關Linux服務器傳文件內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: Linux Apache
国产综合久久一区二区三区