一個(gè)是本地 , 一個(gè)是遠(yuǎn)程。
東西湖網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)從2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專(zhuān)注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
cp 是普通的文件復(fù)制scp 是通過(guò)ssh 本機(jī)和其他電腦上的復(fù)制。
scp是secure copy,也是一個(gè)復(fù)制命令,是與ssh有關(guān)的。
scp user@ip:/dir/file file
或者:scp file user@ip:/dir/file
要輸入user在遠(yuǎn)端用戶(hù)的密碼。
cp ,使用權(quán)限:所有使用者
使用方式:
cp [options] source dest
cp [options] source... directory
說(shuō)明:將一個(gè)檔案拷貝至另一檔案,或?qū)?shù)個(gè)檔案拷貝至另一目錄。
關(guān)于CP的具體使用辦法:
命令基本格式:?
cp [OPTIONS] SOURCE DEST --- 從源路徑copy文件到目的路徑?
cp [OPTIONS] SOURCE... DIRECTORY --- 將多個(gè)源文件copy到指定的目錄(多個(gè)源文件用空格分隔)
OPTIONS:
-a same as -dpR 盡可能將源文件狀態(tài)、權(quán)限等資料都照原裝予以復(fù)制,并且是遞歸copy;?
-r 表示遞歸copy,若source中含有目錄名,則將目錄下之檔案亦皆依序拷貝至目的地;?
-f 表示force,若目的地已經(jīng)有相同檔名的檔案存在,則在復(fù)制前先予以刪除再行復(fù)制;
關(guān)于SCP的具體使用辦法:
就是ftp,也就是其中一臺(tái)Linux安裝ftp Server,這樣可以在另外一臺(tái)機(jī)器使用ftp的client程序來(lái)進(jìn)行文件的copy。
scp和rsync 均可實(shí)現(xiàn)文件的復(fù)制,但相比較,scp占用系統(tǒng)資源較小,rsync速度較快。當(dāng)小文件眾多時(shí),rsync會(huì)導(dǎo)致硬盤(pán)I/O非常高,而scp基本不影響系統(tǒng)正常使用??筛鶕?jù)需要這倆選其一實(shí)現(xiàn)文件復(fù)制。
scp 是secure copy的縮寫(xiě),scp是Linux系統(tǒng)下基于ssh登錄進(jìn)行安全的遠(yuǎn)程文件拷貝命令。
可以實(shí)現(xiàn)本地文件復(fù)制到遠(yuǎn)程服務(wù)器,也可以將遠(yuǎn)程文件復(fù)制到本地。
rsync 是remote sync的縮寫(xiě)。使用rsync備份數(shù)據(jù)時(shí),不會(huì)直接覆蓋以前的數(shù)據(jù)(如果數(shù)據(jù)已經(jīng)存在),而是先判斷已存在的數(shù)據(jù)和新數(shù)據(jù)的差異(默認(rèn)規(guī)則是文件大小或修改時(shí)間有差異),只有數(shù)據(jù)不相同時(shí)才會(huì)把不相同的部分覆蓋。在僅作增量數(shù)據(jù)的copy時(shí)比scp靈活。
一般CentOS默認(rèn)安裝rsync,若使用 rsync -v 提示找不到命令,可使用 yum install -y rsync 安裝。
單個(gè)冒號(hào)和雙冒號(hào)的區(qū)別 :使用rsync在遠(yuǎn)程傳輸數(shù)據(jù)前,是需要進(jìn)行登陸認(rèn)證的,這個(gè)過(guò)程可使用ssh協(xié)議也可以使用rsync協(xié)議完成。單冒號(hào)(:)使用的是ssh協(xié)議;雙冒號(hào)(::)使用的是rsync協(xié)議。
默認(rèn)情況下,rsync只確保源文件的所有內(nèi)容(明確排除的文件除外)都復(fù)制到目標(biāo)目錄。它不會(huì)使兩個(gè)目錄保持不同,并且不會(huì)刪除文件。如果要使目標(biāo)目錄成為源目錄的鏡像副本,則使用--delete選項(xiàng)。可刪除只存在目標(biāo)目錄,不存在于源目錄的文件。
增量備份算是一個(gè)經(jīng)常使用的場(chǎng)景了。兩臺(tái)服務(wù)器之間進(jìn)行文件定期備份,無(wú)需所有文件都copy一遍,僅復(fù)制有變動(dòng)的文件。
具體做法是,第一次同步是全量備份,所有文件在基準(zhǔn)目錄里面同步一份。以后每一次同步都是增量備份,只同步源目錄與基準(zhǔn)目錄之間有變動(dòng)的部分,將這部分保存在一個(gè)新的目標(biāo)目錄。這個(gè)新的目標(biāo)目錄之中,也是包含所有文件,但實(shí)際上,只有那些變動(dòng)過(guò)的文件是存在于該目錄,其他沒(méi)有變動(dòng)的文件都是指向基準(zhǔn)目錄文件的硬鏈接。
--link-dest 參數(shù)用來(lái)指定同步時(shí)的基準(zhǔn)目錄。
上面命令中, --link-dest 參數(shù)指定基準(zhǔn)目錄 /compare/path ,然后源目錄 /source/path 跟基準(zhǔn)目錄進(jìn)行比較,找出變動(dòng)的文件,將它們拷貝到目標(biāo)目錄 /target/path 。那些沒(méi)變動(dòng)的文件則會(huì)生成硬鏈接。這個(gè)命令的第一次備份時(shí)是全量備份,后面就都是增量備份了。
一般服務(wù)器之間復(fù)制文件都比較大,為防止誤操作,最好在后臺(tái)運(yùn)行。但因?yàn)樾枰瓦h(yuǎn)程服務(wù)器之間的ssh通訊多是需要密碼的,所以不能直接使用nohup 放置于后臺(tái)。無(wú)論是scp還是rsync都可操作如下:
后臺(tái)和前臺(tái)任務(wù)的切換
scp不支持?jǐn)帱c(diǎn)續(xù)傳,掛起scp進(jìn)程可能導(dǎo)致數(shù)據(jù)缺失。傾向于使用rsync。
如果有其他任務(wù)需要使用nohup后臺(tái)運(yùn)行,但執(zhí)行時(shí)卻忘記了使用nohup,也可參照此方法進(jìn)行設(shè)置。
參考:1. Linux之scp命令及后臺(tái)運(yùn)行scp
轉(zhuǎn)自:
先說(shuō)下常用的情況:
兩臺(tái)機(jī)器IP分別為:A.104.238.161.75,B.43.224.34.73。
在A服務(wù)器上操作,將B服務(wù)器上/home/lk/目錄下所有的文件全部復(fù)制到本地的/root目錄下,命令為:scp -r root@43.224.34.73:/home/lk /root。
具體過(guò)程為:
[root@XX ~]#scp-r root@43.224.34.73:/home/lk /root
root@43.224.34.73's password: k2.sql100%00.0KB/s00:00? ?
k.zip100%1760.2KB/s00:00? ?
.bash_history? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 100%320.0KB/s00:00? ?
.bash_logout? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 100%180.0KB/s00:00? ?
.bashrc? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 100%2310.2KB/s00:00? ?
k3.sql? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 100%00.0KB/s00:00? ?
.bash_profile? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 100%1930.2KB/s00:00? ?
[root@XX ~]#ls
在A服務(wù)器上將/root/lk目錄下所有的文件傳輸?shù)紹的/home/lk/cpfile目錄下,命令為:scp -r /root/lk root@43.224.34.73:/home/lk/cpfile。
具體過(guò)稱(chēng)為:
[root@XX lk]#scp-r /root/lk root@43.224.34.73:/home/lk/cpfile
root@43.224.34.73's password: k2.sql100%00.0KB/s00:00? ?
k3.sql? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 100%00.0KB/s00:00? ?
.bash_profile? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 100%1930.2KB/s00:00? ?
.bash_logout? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 100%180.0KB/s00:00? ?
.bash_history? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 100%320.0KB/s00:00? ?
k.zip100%1760.2KB/s00:00? ?
.bashrc? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 100%2310.2KB/s00:00? ?
[root@XX lk]#
scp在夸機(jī)器復(fù)制的時(shí)候?yàn)榱颂岣邤?shù)據(jù)的安全性,使用了ssh連接和加密方式,如果機(jī)器之間配置了 ssh免密碼登錄 ,那在使用scp的時(shí)候密碼都不用輸入。
命令詳解:
scp是secure?copy的簡(jiǎn)寫(xiě),用于在Linux下進(jìn)行遠(yuǎn)程拷貝文件的命令,和它類(lèi)似的命令有cp,不過(guò)cp只是在本機(jī)進(jìn)行拷貝不能跨服務(wù)器,而且scp傳輸是加密的??赡軙?huì)稍微影響一下速度。當(dāng)你服務(wù)器硬盤(pán)變?yōu)橹蛔x?read?only?system時(shí),用scp可以幫你把文件移出來(lái)。另外,scp還非常不占資源,不會(huì)提高多少系統(tǒng)負(fù)荷,在這一點(diǎn)上,rsync就遠(yuǎn)遠(yuǎn)不及它了。雖然?rsync比scp會(huì)快一點(diǎn),但當(dāng)小文件眾多的情況下,rsync會(huì)導(dǎo)致硬盤(pán)I/O非常高,而scp基本不影響系統(tǒng)正常使用。
1.命令格式:
scp?[參數(shù)]?[原路徑]?[目標(biāo)路徑]
2.命令功能:
scp是?secure?copy的縮寫(xiě),?scp是linux系統(tǒng)下基于ssh登陸進(jìn)行安全的遠(yuǎn)程文件拷貝命令。linux的scp命令可以在linux服務(wù)器之間復(fù)制文件和目錄。
3.命令參數(shù):
-1??強(qiáng)制scp命令使用協(xié)議ssh1??
-2??強(qiáng)制scp命令使用協(xié)議ssh2??
-4??強(qiáng)制scp命令只使用IPv4尋址??
-6??強(qiáng)制scp命令只使用IPv6尋址??
-B??使用批處理模式(傳輸過(guò)程中不詢(xún)問(wèn)傳輸口令或短語(yǔ))??
-C??允許壓縮。(將-C標(biāo)志傳遞給ssh,從而打開(kāi)壓縮功能)??
-p?保留原文件的修改時(shí)間,訪問(wèn)時(shí)間和訪問(wèn)權(quán)限。??
-q??不顯示傳輸進(jìn)度條。??
-r??遞歸復(fù)制整個(gè)目錄。??
-v?詳細(xì)方式顯示輸出。scp和ssh(1)會(huì)顯示出整個(gè)過(guò)程的調(diào)試信息。這些信息用于調(diào)試連接,驗(yàn)證和配置問(wèn)題。???
-c?cipher??以cipher將數(shù)據(jù)傳輸進(jìn)行加密,這個(gè)選項(xiàng)將直接傳遞給ssh。???
-F?ssh_config??指定一個(gè)替代的ssh配置文件,此參數(shù)直接傳遞給ssh。??
-i?identity_file??從指定文件中讀取傳輸時(shí)使用的密鑰文件,此參數(shù)直接傳遞給ssh。????
-l?limit??限定用戶(hù)所能使用的帶寬,以Kbit/s為單位。?????
-o?ssh_option??如果習(xí)慣于使用ssh_config(5)中的參數(shù)傳遞方式,???
-P?port??注意是大寫(xiě)的P,?port是指定數(shù)據(jù)傳輸用到的端口號(hào)???
-S?program??指定加密傳輸時(shí)所使用的程序。此程序必須能夠理解ssh(1)的選項(xiàng)。
4.使用實(shí)例:
scp命令的實(shí)際應(yīng)用概述:??
從本地服務(wù)器復(fù)制到遠(yuǎn)程服務(wù)器:?
(1)?復(fù)制文件:??
命令格式:??
scp?local_file?remote_username@remote_ip:remote_folder??
或者??
scp?local_file?remote_username@remote_ip:remote_file??
或者??
scp?local_file?remote_ip:remote_folder??
或者??
scp?local_file?remote_ip:remote_file??
第1,2個(gè)指定了用戶(hù)名,命令執(zhí)行后需要輸入用戶(hù)密碼,第1個(gè)僅指定了遠(yuǎn)程的目錄,文件名字不變,第2個(gè)指定了文件名??
第3,4個(gè)沒(méi)有指定用戶(hù)名,命令執(zhí)行后需要輸入用戶(hù)名和密碼,第3個(gè)僅指定了遠(yuǎn)程的目錄,文件名字不變,第4個(gè)指定了文件名???
(2)?復(fù)制目錄:??
命令格式:??
scp?-r?local_folder?remote_username@remote_ip:remote_folder??
或者??
scp?-r?local_folder?remote_ip:remote_folder??
第1個(gè)指定了用戶(hù)名,命令執(zhí)行后需要輸入用戶(hù)密碼;??
第2個(gè)沒(méi)有指定用戶(hù)名,命令執(zhí)行后需要輸入用戶(hù)名和密碼;