以前一直是在服務器上tar打包壓縮,下載到本地電腦上,再上傳到另外一台服務器上,再解壓。
其實使用scp命令就可以直接對拷文件或者文件夾了。
scp就是secure copy,是用來進行遠程文件拷貝的.數據傳輸使用ssh1,並且和ssh1使用相同的認證方式,提供相同的安全保證.與rcp不同的是,scp會要求你輸入密碼如果需要的話.
最簡單的應用如下:
scp 本地用戶名@IP地址:文件名1 遠程用戶名@IP地址:文件名2
[本地用戶名@IP地址:] 可以不輸入,可能需要輸入遠程用戶名所對應的密碼.
可能有用的幾個參數:
-v 和大多數linux命令中的-v意思一樣,用來顯示進度.可以用來查看連接,認證,或是配置錯誤.
-C 使能壓縮選項.
-P 選擇端口.注意-p已經被rcp使用.
-4 強行使用IPV4地址.
-6 強行使用IPV6地址.
scp中很多參數都和ssh1有關,需要的話在看.
例如拷貝單個文件命令:
scp file
說明:
file: 要拷貝的文件名
username: 遠程登錄的用戶名,
ip:遠程服務器ip
filepath:遠程文件路徑
拷貝文件夾命令如下(多加上一個-r 參數即可):
scp -r file
=================================================================================
不同的Linux之間copy文件常用有3種方法:
第一種是在其中一台Linux安裝ftp Server,這樣可以在另外一台使用ftp的client程序來進行copy。
第二種方法就是采用samba服務,類似Windows文件copy的方式來操作,比較簡潔方便
第三種就是利用scp命令來進行文件復制。
scp是有Security的文件copy,基於ssh登錄。操作起來比較方便,比如要把當前一個文件copy到遠程另外一台主機上,可以如下命令。
scp /home/1.gif root@172.19.2.75:/home/root
然后會提示你輸入另外那台172.19.2.75主機的root用戶的登錄密碼,接着就開始cp和ungzip了
如果想反過來操作,把文件從遠程主機copy到當前系統,也很簡單:
scp root@172.19.2.75:/home/abc.gif
復制文件夾的格式是 scp -r root@192.168.1.1:/home/ /本地目錄
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
對拷文件夾 (包括文件夾本身)
scp -r /home/wwwroot/www/charts/util root@192.168.1.65:/home/wwwroot/limesurvey_back/scp
對拷文件夾下所有文件 (不包括文件夾本身)
scp /home/wwwroot/www/charts/util/* root@192.168.1.65:/home/wwwroot/limesurvey_back/scp
對拷文件並重命名
scp /home/wwwroot/www/charts/util/a.txt root@192.168.1.65:/home/wwwroot/limesurvey_back/scp/b.text
——————————————————————————————————————————————————————
2台服務器對拷用SCP提速
今天測試了2台服務器對拷,SAS盤,千兆網絡,使用scp命令測試,加-c arcfour這個參數比不加參數速度快一半,以下是測試過程
1、不加參數測試結果
#scp -rp 3G
3G 100% 3000MB 31MB/s 99s
2.加參數-c arcfour測試結果,速度快了一倍
#scp -rp -c arcfour 3G
3G 100% 3000MB 64MB/s 46s
-c arcfour:表示加密算法多謝l分布式文件系統群里兄弟“三辦門牙”
=========================
scp報錯:not a regular file
linux 本地文件上傳到服務器
scp /home/liujia/file.1txt liujia@172.16.252.32:/user/liujia
從服務器下載文件
scp liujia@172.16.252.32:/user/liujia/file1.txt /home/liujia
命令
scp liujia@172.16.252.32:/user/liujia/ /home/liujia
cp報錯:not a regular file
原因是 這樣是相當於下載文件夾,而非文件。
解決辦法是 加參數 -r
scp -r liujia@172.16.252.32:/user/liujia/ /home/liujia
這樣就可以了