我們都使用過 scp 來傳輸文件。當(dāng)傳輸在中途或甚至在 99% 時(shí)被中斷時(shí),(每當(dāng)我想起99%的中斷傳輸時(shí),我的心都很痛);讓我們看看如何使用 rsync 來替代 scp,避免這樣的不幸。
什么是rsync?
Rsync 是一個(gè)快速且極其靈活的文件復(fù)制工具。它可以在本地進(jìn)行復(fù)制,通過任何遠(yuǎn)程 shell 與另一個(gè)主機(jī)進(jìn)行復(fù)制,或者通過遠(yuǎn)程 rsync 守護(hù)進(jìn)程進(jìn)行復(fù)制。它提供許多選項(xiàng),可以控制其行為的各個(gè)方面,并允許對要復(fù)制的文件集進(jìn)行非常靈活的指定。它以增量傳輸算法而聞名,該算法通過僅發(fā)送源文件與目標(biāo)文件中現(xiàn)有文件之間的差異來減少通過網(wǎng)絡(luò)發(fā)送的數(shù)據(jù)量。
Rsync 廣泛用于備份和鏡像,作為日常使用的改進(jìn)復(fù)制命令。 Rsync 使用"快速檢查"算法(默認(rèn)情況下)來查找需要傳輸?shù)奈募撍惴ú檎掖笮』蜃詈笮薷臅r(shí)間發(fā)生變化的文件。當(dāng)快速檢查指示文件的數(shù)據(jù)不需要更新時(shí),對目標(biāo)文件直接進(jìn)行其他保留屬性的更改(如選項(xiàng)請求的那樣)。
可用rsync的平臺
Rsync 適用于任何類 UNIX 平臺,如 Linux 和 MacOS,也許也有一些針對 Windows 的 rsync 衍生版,但我沒有使用過,所以不知道是否存在我們現(xiàn)在討論的所有功能!
如何安裝rsync
在 Ubuntu 和 Debian 衍生版中使用 apt 命令進(jìn)行安裝。
linuxmi@linuxmi ~/www.linuxmi.com % sudo apt install rsync在類似 RedHat 和 Centos 的 RPM 系統(tǒng)中,請使用 yum 命令安裝 rsync:
linuxmi@linuxmi ~/www.linuxmi.com % sudo yum install rsync在 Mac 上,請使用 brew 命令安裝 rsync:
linuxmi@linuxmi ~/www.linuxmi.com % brew install rsync您可以通過檢查其版本來驗(yàn)證是否安裝了rsync:
linuxmi@linuxmi ~/www.linuxmi.com %rsync--version
如何使用rsync?
要將文件從本地主機(jī)復(fù)制到遠(yuǎn)程主機(jī)類似于scp,但有更多參數(shù)(如果您無法記住參數(shù),別忘了 bash 別名是您最佳選擇):
rsync -partial -z -e 'ssh -p 22' linuxmi.cpp linuxmi@192.168.174.132:/home/linuxmi
linuxmi.cpp是源文件。
linuxmi@192.168.174.132:/home/linuxmi 是用于連接的用戶、遠(yuǎn)程主機(jī)和路徑。
-e 'ssh -p' 告訴rsync使用端口22的ssh連接。
-z 進(jìn)行壓縮數(shù)據(jù)傳輸以加快速度。
-partial 這是一個(gè)“黃金”參數(shù),允許我們恢復(fù)中斷的傳輸。默認(rèn)情況下,如果傳輸中斷,rsync將刪除任何部分傳輸?shù)奈募?。在某些情況下,更希望保留部分傳輸?shù)奈募?。使?-partial選項(xiàng)告訴rsync保留部分文件,這應(yīng)該使隨后傳輸剩余文件更快。
如何恢復(fù)中斷的傳輸?
如果您在之前的段落中使用了 -partial 參數(shù)來啟動傳輸,并且由于某種原因傳輸中斷,您可以重新輸入命令,哇!就像魔術(shù)一樣!傳輸會從中斷的點(diǎn)開始!
總結(jié)
Rsync 非常強(qiáng)大,還有許多其他參數(shù),比如帶寬限制等,但最重要的參數(shù)是保持傳輸?shù)幕謴?fù)。請?jiān)谠u論中分享您使用scp和rsync的經(jīng)驗(yàn)!您覺得我的文章對你有所幫助嗎?
審核編輯:劉清
-
LINUX內(nèi)核
+關(guān)注
關(guān)注
1文章
316瀏覽量
21588 -
Shell
+關(guān)注
關(guān)注
1文章
361瀏覽量
23239 -
RPM
+關(guān)注
關(guān)注
0文章
44瀏覽量
17683 -
SCP
+關(guān)注
關(guān)注
0文章
28瀏覽量
9219 -
Ubuntu系統(tǒng)
+關(guān)注
關(guān)注
0文章
85瀏覽量
3882
原文標(biāo)題:拋棄 scp 改用 rsync,讓 Linux 下文件傳輸高效無比
文章出處:【微信號:良許Linux,微信公眾號:良許Linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論