一、scp
1.簡介
scp是secure copy的簡寫,用於在Linux下進行遠程拷貝文件的命令,和它類似的命令有cp,不過cp只是在本機進行拷貝不能跨服務器,而且scp傳輸是加密的
2.軟件安裝(雙方服務器都需要安裝)
~]# yum install openssh-client -y
3.使用場景
本地機器:192.168.1.2
遠程機器:192.168.1.3
以下方式適用於復制單個文本文件和壓縮包文件
a.將本地機器/tmp/local.txt復制到遠程服務器的/root目錄下
~]# scp /tmp/local.txt root@192.168.1.3:/root
輸入密碼即可
b.將遠程機器/tmp/remote.txt復制到本地服務器/root目錄下
~]# scp root@192.168.1.3:/tmp/local.txt /root
輸入密碼即可
以下方式適用於要復制目錄
a.將本地機器/tmp目錄 復制到遠程服務器的/root目錄下
~]# scp -r /tmp root@192.168.1.3:/root
輸入密碼即可
b.將本地機器/tmp目錄(保留原文件的修改時間,訪問時間和訪問權限)復制到遠程服務器的/root目錄下
~]# scp -rp /tmp root@192.168.1.3:/root
注意:遠程復制目錄一般更推薦采用打包然后復制的方式
以下方式適用於對方服務器端口不是22的情況(這里端口指的是ssh端口)
將本地機器/tmp/local.txt復制到遠程服務器(端口為63225)的/root目錄下
~]# scp -P 63225 /tmp/local.txt root@192.168.1.3:/root
二、rsync
1.簡介
實現兩端主機的文件同步(rsync軟件很強大,這里我們只是介紹其文件復制功能)
2.軟件安裝(雙方服務器都需要安裝)
~]# yum install rsync -y
3.使用場景
本地機器:192.168.1.2
遠程機器:192.168.1.3
rsync可以實現增量復制(適用於多個文件的場景),所以我們這里只是介紹目錄同步
將本地機器的/var/www/html/www.a.com同步到遠程機器的/var/www/html目錄下
~]# rsync -avzP /var/www/html/www.a.com root@192.168.1.3:/var/www/html
輸入密碼即可
-a --archive : 歸檔模式,表示遞歸傳輸並保持文件屬性。等同於"-rtopgDl"。
-z : 傳輸時進行壓縮提高效率。
-p --perms: 保持perms屬性(權限,不包括特殊權限)
-v : 顯示詳細信息
三.screen
1.簡介
在遠程服務器難免會因為網絡原因,導致復制中斷,我們使用screen解決此類問題
2.安裝軟件(在執行命令的機器安裝即可)
~]# yum install screen -y
3.使用
~]# screen
然后執行復制命令即可
4.如何查看是否復制完成
如果你使用的是scp
~]# ps -ef |grep scp |grep -v grep
如果你使用的是rsync
~]# ps -ef |grep rsync |grep -v grep
如果傳輸完成即沒有結果輸出