如果資料檔案比較大,單單依靠壓縮、轉移托轉等工序也是可行的,其實我們也可以使用SCP命令進行伺服器之間的拖動,這個也是我們在Linux伺服器之間網站資料檔案的拖動轉移,而且並不需要壓縮直接將指定目錄下的所有檔案都拖過去,比如資料檔案有幾個GB,通過打包壓縮、拖動解壓比較耗費時間,直接利用SCP命令就很簡單的實現。
我們熟悉的CP命令只能適合當前VPS伺服器的目錄之間的複製轉移,SCP可以進行伺服器之間的遠程拷貝檔案,而且速度更快,而且傳輸過程是加密的。在這篇文章中,老蔣將會整理和演練SCP命令的常用命令,這樣在遇到大檔案網站資料移轉拷貝的時候可以用上。
第一、SCP基本用法
| 代碼如下 |
複製代碼 |
scp [參數] [原路徑] [目標路徑]
|
第二、SCP常用參數及說明備忘
| 代碼如下 |
複製代碼 |
-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)的選項
|
第三、SCP命令常見用法執行個體
A - 複製當前檔案到遠程伺服器目錄
| 代碼如下 |
複製代碼 |
scp [當前檔案] [遠程伺服器使用者@遠程伺服器IP]:[遠程伺服器目錄]
|
示範案例:
| 代碼如下 |
複製代碼 |
scp itbulu.com.txt root@121.54.xxx.xxx:/root/
|
解釋:將當前VPS伺服器目前的目錄中的itbulu.com.txt檔案遠程拷貝送至121.54.xxx.xxx伺服器/root/目錄中。
執行過程中我們需要先確定yes/no,是否執行轉移,這裡我肯定輸入yes然後斷行符號,然後提示需要輸入遠程伺服器的ROOT使用者名稱密碼,然後執行拷貝。
B - 複製當前檔案夾/目錄到遠程伺服器目錄
| 代碼如下 |
複製代碼 |
scp -r [當前伺服器網站目錄/檔案夾] [root@遠程伺服器IP地址]:[遠程伺服器目錄]
|
示範案例:
| 代碼如下 |
複製代碼 |
scp -r /root/mini/ root@121.54.xxx.xxx:/root/itbulu
|
解釋:將目前的目錄中的/mini/檔案夾所有內容,拷貝至遠程伺服器中的/root/itbulu/目錄中。
在執行過程中需要我們輸入遠程伺服器的ROOT密碼然後斷行符號就執行,會根據我們檔案資料的多少以及之間的傳輸速度決定需要多久才能傳輸完畢。
C - 將遠程伺服器的內容/檔案拷貝到本地當前伺服器
1、複製檔案到本地
| 代碼如下 |
複製代碼 |
scp [root@遠程伺服器IP地址]:[遠程伺服器目錄檔案] [當前伺服器網站目錄/檔案夾]
|
示範執行個體:
| 代碼如下 |
複製代碼 |
scp root@121.54.xxx.xxx:/soft/itbulu.com.tar.gz /soft/
|
其實很簡單,我們可以看到只要將上面前後顛倒一下就可以。
2、複製目錄到本地
| 代碼如下 |
複製代碼 |
scp -r [root@遠程伺服器IP地址]:[遠程伺服器目錄] [當前伺服器網站目錄/檔案夾]
|
示範執行個體:
| 代碼如下 |
複製代碼 |
scp -r root@121.54.xxx.xxx:/root/itbulu /root/mini/
|
第四、SCP命令拷貝和複製網站目錄總結
以上老蔣整理和分享到SCP命令的常見用法,以及幾個常用執行個體示範,這樣我們在搬遷網站資料的時候就不需要進行拷貝到本地,然後再進行本地上傳這樣複雜的過程。直接可以採用SCP命令遠程上傳轉移以及拖到直接檔案夾到對應的目錄中,而且整個過程是加密且速度較快的。