1. 程式人生 > >linux中scp命令使用技巧詳解(傳輸速度)

linux中scp命令使用技巧詳解(傳輸速度)

在linux中scp命令與cp命令一樣的是複製檔案,下面小編來給各位同學介紹一下關於linux中scp命令使用技巧詳

解,希望此方法對大家會幫助。

scp 命令 
  
scp 可以在 2個 linux 主機間複製檔案;

命令基本格式: 
       scp [可選引數] file_source file_target

====== 
從 本地 複製到 遠端 
====== 
* 複製檔案: 
        * 命令格式: 
                scp local_file [email protected]_ip:remote_folder 
                或者 
                scp local_file

[email protected]_ip:remote_file 
                或者 
                scp local_file remote_ip:remote_folder 
                或者 
                scp local_file remote_ip:remote_file

                第1,2個指定了使用者名稱,命令執行後需要再輸入密碼,第1個僅指定了遠端的目錄,檔名字不變,第2個指定了檔名; 
                第3,4個沒有指定使用者名稱,命令執行後需要輸入使用者名稱和密碼,第3個僅指定了遠端的目錄,檔名字不變,第4個指定了檔名; 
        * 例子: 
                scp /home/space/music/1.mp3

[email protected]:/home/root/others/music 
                scp /home/space/music/1.mp3 [email protected]:/home/root/others/music/001.mp3 
                scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music 
                scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music/001.mp3

* 複製目錄: 
        * 命令格式: 
                scp -r local_folder

[email protected]_ip:remote_folder 
                或者 
                scp -r local_folder remote_ip:remote_folder

                第1個指定了使用者名稱,命令執行後需要再輸入密碼; 
                第2個沒有指定使用者名稱,命令執行後需要輸入使用者名稱和密碼; 
        * 例子: 
                scp -r /home/space/music/ [email protected]:/home/root/others/ 
                scp -r /home/space/music/ www.cumt.edu.cn:/home/root/others/

                上面 命令 將 本地 music 目錄 複製 到 遠端 others 目錄下,即複製後有 遠端 有 ../others/music/ 目錄


====== 
從 遠端 複製到 本地 
====== 
從 遠端 複製到 本地,只要將 從 本地 複製到 遠端 的命令 的 後2個引數 調換順序 即可;

例如: 
        scp [email protected]:/home/root/others/music /home/space/music/1.mp3 
        scp -r www.cumt.edu.cn:/home/root/others/ /home/space/music/

最簡單的應用如下 :

scp 本地使用者名稱 @IP 地址 : 檔名 1 遠端使用者名稱 @IP 地址 : 檔名 2

[ 本地使用者名稱 @IP 地址 :] 可以不輸入 , 可能需要輸入遠端使用者名稱所對應的密碼 .

可能有用的幾個引數 :

-v 和大多數 linux 命令中的 -v 意思一樣 , 用來顯示進度 . 可以用來檢視連線 , 認證 , 或是配置錯誤 .

-C 使能壓縮選項 .

-P 選擇埠 . 注意 -p 已經被 rcp 使用 .

-4 強行使用 IPV4 地址 .

-6 強行使用 IPV6 地址 .
 

注意兩點:
1.如果遠端伺服器防火牆有特殊限制,scp便要走特殊埠,具體用什麼埠視情況而定,命令格式如下:
#scp -p 4588 [email protected]:/usr/local/sin.sh /home/administrator
2.使用scp要注意所使用的使用者是否具有可讀取遠端伺服器相應檔案的許可權。


加速scp傳輸速度


結論
宣告:這裡給出的測試資料不具有一般性,僅供參考。測試與資料本身特性有很大關係,本文使用InnoDB的redo log作為測試資料。

* 改變ssh加密演算法,可以讓速度更快;通常,越弱的加密演算法,速度越快

* 通常壓縮會降低scp速度,但這與資料型別有很大關係,對壓縮率非常高的資料啟用壓縮,可以加速

* 壓縮級別對傳輸效率影響很小

* 用於完整性校驗的不同MAC( message authentication code)演算法,對效能約有10%-20%的影響。

所以,簡單嘗試如下,讓你的SCP速度double一下:

scp -r -c arcfour128 ...
scp -r -c aes192-cbc ...
scp -r -c arcfour128 -o "MACs [email protected]" ... 注:啟用壓縮使用引數: -o "Compression yes"

2. 測試資料:加密演算法和壓縮的影響
這裡對比了12種ssh中實現的加密演算法和是否使用壓縮的傳輸效率,測試檔案使用的是InnoDB的1GB*4的日誌檔案(注意:不同型別的檔案測試結果會很不同),這裡縱座標單位為MB/s,資料分為壓縮傳輸和不壓縮傳輸兩組:

screen-scp-compare-cipher-compression

原始資料:scp_speed.txt


可以看到,不同加密演算法傳輸速度相差很大;使用了壓縮之後,速度下降很多,也看到不同加密演算法加密後區別並不大。

3. 關於是否啟用壓縮
* 壓縮只有在網路傳輸速度非常慢,以致於壓縮後節省的傳輸時間大於壓縮本身的時間,這時才有效果,所以是否啟用壓縮,需要實際測試

* 壓縮比很低的資料,不要再啟用壓縮(例如已經壓縮過的資料、視訊等)

* 通常建議,傳輸前先壓縮,而不是使用ssh的壓縮;建議使用pigz/lbizp2等並行壓縮工具

* 資料中大量重複、空洞,這類適合壓縮的資料,可以嘗試壓縮選項,例如如下是一組,大量"空洞"資料的測試:

chart_1

看到,壓縮大大提高了傳輸效率

4. "壓縮級別"對傳輸速度影響不大
最後一組對比是,將壓縮級別從1改到9,對比傳輸速度,縱座標單位MB/s,對12種加密演算法分別使用了測試9個壓縮級別,資料如下:

screen-scp-compare-compression-level

大圖連結 原始資料:scp-compression-level.txt

可以看到,壓縮級別對傳輸影響較小。ssh使用的預設壓縮級別是6。

5. 測試資料:完整性校驗演算法MACs選擇
通過選項Macs可以設定對應的雜湊演算法,man ssh_config可以看到支援哪些雜湊演算法。這裡對了比了12中加密演算法下使用不用的完整性校驗演算法的效能情況:

screen-scp-compare-macs-all

看到,絕大數情況下"[email protected]"(關於此雜湊)效能都更好,所以建議嘗試使用此雜湊演算法做驗證,看看你的場景下速度是否與提升。也可以看到,預設的hmac-md5雜湊在預設的加密aes128-ctr下表現比較好;


相關推薦

linuxscp命令使用技巧(傳輸速度)

在linux中scp命令與cp命令一樣的是複製檔案,下面小編來給各位同學介紹一下關於linux中scp命令使用技巧詳 解,希望此方法對大家會幫助。 scp 命令     scp 可以在 2個 linux 主機間複製檔案; 命令基本格式:         scp [可選

linuxmount命令引數 nfs 引數

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Linuxtop命令引數

本篇博文主要講解有關top命令,top命令的主要功能是檢視程序活動狀態以及一些系統狀況。 TOP是一個動態顯示過程,即可以通過使用者按鍵來不斷重新整理當前狀態.如果在前臺執行該命令,它將獨佔前臺,直到使用者終止該程式為止.比較準確的說,top命令提供了實時的對

Linuxln命令用法

硬連線指向的是節點(inode),是已存在檔案的另一個名字,修改其中一個,與其連線的檔案同時被修改;對硬連結檔案進行讀寫和刪除操作時候,效果和符號連結相同。但如果我們刪除硬連結檔案的原始檔,硬連結檔案

linuxmount命令引數(nfs 引數)

1,命令格式mount命令的格式如下:mount [-t vfstype] [-o  options] device dirmount命令引數非常多,如下為與NFS相關的引數。(1)-a:把/etc/

linuxless命令使用(內容分頁顯示)

less 工具也是對檔案或其它輸出進行分頁顯示的工具,應該說是linux正統檢視檔案內容的工具,功能極其強大。less 的用法比起 more 更加的有彈性。在 more 的時候,我們並沒有辦法向前面翻, 只能往後面看,但若使用了 less 時,就可以使用 [pageup] [pagedown] 等按鍵的功

(轉)shelltest命令方法

目的 判斷字符串 演示 警告 gic 一個數 平臺 oracl 差異 test命令用法。功能:檢查文件和比較值 原文:https://www.cnblogs.com/guanyf/p/7553940.html    1)判斷表達式   if test (表達式為真)

linuxFTP服務搭建--1.匿名與權限

一行 ext enforce 實驗環境 沒有 allow umask pda yar 實驗環境:在redhat6.5中安裝配置FTP服務,並使用一臺win7系統訪問驗證。理論:FTP連接方式 支持兩種連接模式:主動模式(Port)和被動模式(Pasv),這兩種模式

linuxFTP服務搭建--2.家目錄禁錮和黑白名單

ip 地址 問題 ges 添加 無法 sftp 分享圖片 deny ecb 操作環境 1 操作系統 : redhat 6.5 IP 地址 : 192.168.10.128 主機名 : zred2 操作系統:win 7 IP地址: 192.168.10

linuxFTP服務搭建--3.虛擬用戶

col spa 主機互聯 root tex linu oot guest 文件的 操作環境 1 操作系統 : redhat 6.5 IP 地址 : 192.168.10.128 主機名 : zred2 操作系統:win 7 IP地址: 192.16

linux 特殊符號用法

引號 zabbix 目錄 sele cond 特殊符號 zab set speed 星號(*) 當用於shell變量時, [root@zabbix_nuc ~]# sql=‘select * from mysql.user‘ [root@zabbix_nuc ~]# ech

linuxscp命令

scp用於兩臺伺服器之前拷貝檔案、目錄。其原理是基於ssh。 假設兩臺伺服器IP分別為:A.104.238.161.75,B.43.224.34.73。使用者都是root 當前登入伺服器為A 從B拷貝檔案到A scp -P 22 [email protected]:/home

Linux的dd命令使用

http://blog.sina.com.cn/s/blog_8b5bb24f01016y3o.html   一、dd命令的解釋 dd:用指定大小的塊拷貝一個檔案,並在拷貝的同時進行指定的轉換。 注意:指定數字的地方若以下列字元結

Linux程序監控命令ps

    ps是processes的縮寫,是對當前系統程序進行監控。要對程序進行監測和控制,首先必須要了解當前程序的情況,也就是需要檢視當前程序,ps命令就是最基本程序檢視命令。使用該命令可以確定有哪些程序正在執行和執行的狀態、程序是否結束、程序有沒有殭屍、哪些程序佔用了過多的資源

Linux執行緒使用

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Linux程序查詢命令pgrep

pgrep是linux中常用的通過程式名字來查詢程序的命令。 一般用來查詢正在執行程序的PID資訊。 常用選項: 預設只顯示PID -l 同時顯示程序名和PID -o 當匹配多個程序時,顯示程序號最小的那個 -n 當匹配多個程序時,顯示程序號最大的那個 注:程序號

linuxmariadb基本用法(企業級)

資料庫 表的每一個列名字的頭   叫做欄位 是高階的exel表格軟體 資料庫種類 sqlserver  sqllite  db2   oracle  > mysql   比較多   其中my

linux sed的用法

sed 是操作,過濾和轉換文字內容的強大工具,sed可以從檔案和管道中讀取輸入。 sed 命令語法 sed [ option ] {sed -commands} {input -file} -e :執行多個sed命令 -n :只顯示操作行 -i

Linux的chmod指令

1. 許可權結構分解   chmod可以用來改變檔案的許可權,比如說讓我們來檢視test.txt的詳細資訊 ll test.txt   檢視的結構如下所示 -rw-r--r--. 1 root root 16 8月 18 17:06 test.txt

Linux ls -l命令輸出

位置:1 2 3456 7 1.檔案屬性 2.檔案數 3.擁有者 4.所屬的group 5.檔案大小 6.建檔日期 7.檔名  藍色:表示資料夾 綠色:表示檔案 第一個欄位,表示檔案的屬性。Linux的檔案基本上分為三個屬性:可讀(r),可寫(w),可執行(x)。但是這裡有十個格子可以添(具體程式實