分享

使用scp在兩臺服務器間傳輸數據

HenJi · 12月6日 · 2021年 · · · 12678次已读

去年雙十一的時候從OVH買了一臺存儲服務器,12個月的合同每月支付100歐,4*8T的硬盤,算下來還挺便宜的。

今年沒優惠了,150歐一個月,咬牙付了安裝費從Hetzner租了一臺SX64。

OVH的服務器上大概8T多的數據,用rsync還要配置(我只在面板用過rsync,配置起來就是小白,還要查資料),遂想起來scp命令。

1、安裝scp

yum install -y openssh-clients

2、scp命令參數

-v 和大多数 linux命令中的-v意思一样,用来显示进度。
-C 使能压缩选项
-P 选择端口
-r 复制目录

3、操作命令

複製目錄 遠程 > 本地
scp -v -r root@遠程服務器IP:/遠程服務器路徑/ /本地服務器路徑/

4、中間遇到的一些問題

4.1、因為遠程服務器的SSH端口修改了端口號,所以scp命令在使用的時候還要帶上端口號

scp -v -r -P 遠程SSH端口號 root@遠程服務器IP:/遠程服務器路徑/ /本地服務器路徑/
注意-P的P要大寫

4.2、考慮8T的數據,萬一我的SSH斷掉就要重新傳輸,所以使用nohup和&後臺運行,又因為使用nohup而導致沒有交互過程,無法在後臺傳輸的時候輸入密碼,所以還要考慮連密碼一起傳輸。

#安裝sshpass
yum install sshpass -y

#連帶密碼和端口號進行後臺傳輸的scp(sshpass的-p參數,p為小寫)
nohup sshpass -p 遠程服務器密碼 scp -v -r -P 遠程SSH端口號 root@遠程服務器IP:/遠程服務器路徑/ /本地服務器路徑/ &

以上,給自己存個檔 ╮(╯▽╰)╭

0 条回应