自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Rsync 命令詳解安裝及使用Rsync

系統(tǒng) Linux
本文向您介紹了如何使用 rsync 或是它的圖形化版本(Grsync,QSync 等)來實(shí)現(xiàn)兩臺計算機(jī)之間的數(shù)據(jù)同步。

使用 rsync 更輕松更快速地同步兩臺機(jī)器(比如筆記本計算機(jī)和桌面計算機(jī)),這提供一種高效的算法和多種選項(xiàng)。另外,如果不喜歡命令行操作,還可以通過幾個圖形化工具更簡便地使用 rsync。
如果您同時使用筆記本計算機(jī)和桌面計算機(jī),就可能需要及時地同步它們。另外,除了在家里運(yùn)行同步之外,還可能希望從遠(yuǎn)程站點(diǎn)運(yùn)行同步;就拿我來說,我在旅途中使用筆記本計算機(jī),在此期間希望確保把在筆記本上做的工作備份到桌面計算機(jī)上。(丟失筆記本并因此丟失所有工作是真正的大災(zāi)難!)對于這個問題有許多解決方案:本文介紹一種工具 — rsync — 和幾種相關(guān)工具,它們都提供簡便的同步過程。

什么是 Rsync 命令?

rsync 應(yīng)用程序是在 Linux? 和 UNIX? 上廣泛使用的文件傳輸和同步程序,而且它已經(jīng)移植到了 Windows? 上。它的關(guān)鍵特性是一個非??斓乃惴?,它只通過數(shù)據(jù)鏈路發(fā)送文件差異,因此把機(jī)器之間傳輸?shù)臄?shù)據(jù)總量降低到最低限度。(如果使用 File Transfer Protocol [FTP] 或 rcp 和 scp 等實(shí)用程序,那么即使只修改了一個字節(jié),也會發(fā)送完整的文件)。當(dāng)然,rsync 并非只能處理現(xiàn)有的文件:它還可以處理只在鏈路一端存在的文件和目錄。最后,通過壓縮數(shù)據(jù)來優(yōu)化通信,因此可以通過非寬帶連接使用這個工具。

rsync 的狀態(tài)

rsync 實(shí)用程序最初是由 Samba 的開發(fā)者 Andrew Tridgell 開發(fā)的。這個軟件采用 GNU General Public License (GPL),它的當(dāng)前版本是 2008 年 12 月發(fā)布的 3.0.5。 
 
獲取并安裝 rsync

可以找到針對大多數(shù)當(dāng)前 Linux 發(fā)行版預(yù)編譯的二進(jìn)制包,首先應(yīng)該找到適合自己的包。我使用 Smart 對 OpenSUSE 進(jìn)行包管理,所以只需使用 sudo smart install rsync 命令安裝 rsync 的最新版本。如果您喜歡自己進(jìn)行編譯,那么可以獲取源代碼(見 參考資料 中的鏈接)并用傳統(tǒng)的 configure, make, make install 方法安裝它;詳細(xì)步驟參見源代碼中的 README 文件。

為了進(jìn)行安全的通信,需要安裝 Secure Shell (ssh)。(可以使用 remote shell [rsh],但是它不夠安全)。OpenSSH 是 ssh 的一種免費(fèi)實(shí)現(xiàn),在所有發(fā)行版上都有。還需要在防火墻上打開一個端口,讓計算機(jī)可以相互連接。這些都是標(biāo)準(zhǔn)配置,更多信息見 參考資料 中的鏈接。

作為守護(hù)進(jìn)程運(yùn)行 Rsync 命令

有兩種運(yùn)行 rsync 的方法:作為守護(hù)進(jìn)程運(yùn)行和根據(jù)需要運(yùn)行。如果只想同步兩臺計算機(jī),那么選用哪種方法并沒有明顯的差異。作為守護(hù)進(jìn)程運(yùn)行 rsync(使用 rsync --daemon 命令)適用于服務(wù)器,允許多個不同的用戶針對服務(wù)器同步自己的計算機(jī)??梢酝ㄟ^ man rsyncd.conf 了解可以指定的選項(xiàng)。但是要注意,對于同步筆記本和桌面計算機(jī),不需要使用復(fù)雜的配置。 
  
使用 Rsync 命令

現(xiàn)在,我們使用 rsync 把筆記本計算機(jī)直接同步到一個遠(yuǎn)程服務(wù)器。為此,可以使用與 清單 1 相似的代碼。還可以把遠(yuǎn)程服務(wù)器同步到筆記本(文件將從服務(wù)器發(fā)送到筆記本),或者同步兩個本地目錄,但是不能同步兩個遠(yuǎn)程服務(wù)器。

清單 1. 相同 rsync 命令的兩個版本


	
rsync --compress --recursive --delete --links \
--times --perms --owner --group \
--verbose --progress --stats \
--rsh="ssh" \
--exclude "*bak" --exclude "*~" \
/my/path/at/the/laptop/* myserver:/some/path/at/the/server

rsync -zrltpogve "ssh" --progress --stats --delete \
--exclude "*bak" --exclude "*~" \
/my/path/at/the/laptop/* myserver:/some/path/at/the/server

注意,清單 1 中選項(xiàng)的次序是任意的,而且大多數(shù)選項(xiàng)有短格式。首先,--compress(或 -z)指定將壓縮數(shù)據(jù),這可以節(jié)省帶寬。應(yīng)該總是使用這個選項(xiàng)。(在非常高速的數(shù)據(jù)鏈路上,不進(jìn)行壓縮可能也可以,但是對于大多數(shù)遠(yuǎn)程連接,壓縮都是有幫助的)??梢允褂醚a(bǔ)充選項(xiàng) --compress-level=level 指定壓縮的級別;但是,通??梢越邮軜?biāo)準(zhǔn)的壓縮級別。

--recursive (-r) 選項(xiàng)讓 rsync 遞歸地復(fù)制所有目錄。這會復(fù)制目錄中的所有文件,包括其中的子目錄及其內(nèi)容。如果不需要這個功能,可以使用 --dirs 選項(xiàng) (-d) 產(chǎn)生相反的效果:跳過子目錄及其內(nèi)容。

在默認(rèn)情況下,rsync 把需要的文件復(fù)制到目標(biāo)計算機(jī),但是并不刪除額外文件。通過使用 --delete 選項(xiàng),目標(biāo)目錄會與原目錄保持完全一致。但是要注意:如果把一個空目錄同步到遠(yuǎn)程目錄,就會刪除遠(yuǎn)程目錄中的所有內(nèi)容!

如果原目錄中有符號鏈接,--links 選項(xiàng)(或 -l)會在目標(biāo)目錄中重新創(chuàng)建這些符號鏈接。另一種方法是使用 --copy-links(或 -L)復(fù)制符號鏈接指向的文件或目錄,而不是復(fù)制符號鏈接本身。如果有符號鏈接指向復(fù)制的樹之外的文件或目錄(這是一種安全風(fēng)險),可以使用 --copy-unsafe-links。--safe-links 選項(xiàng)忽略這樣的鏈接,這更安全。

后面四個選項(xiàng)(--times、--perms、--owner 和 --group 或 -tpog)分別讓 rsync 保持原來的更新時間戳、權(quán)限、所有者和組信息。同時指定所有這些選項(xiàng)的簡便方法是使用 --archive(或 -a),這還會設(shè)置 --recursive 和 --links 選項(xiàng)。

后面三個選項(xiàng)(--verbose、--progress 和 --stats)提供關(guān)于 rsync 正在執(zhí)行的操作的大量信息。如果對這些信息不感興趣,只需跳過它們,除非出現(xiàn)錯誤,rsync 會悄悄地運(yùn)行。

盡管當(dāng)前的 rsync 版本默認(rèn)使用 ssh,但是可以使用 --rsh(或 -e)選項(xiàng)強(qiáng)制使用 ssh。如果需要使用額外的 ssh 參數(shù)(例如希望讓 ssh 使用非標(biāo)準(zhǔn)端口),可以添加這些參數(shù),例如 --rsh "ssh -p 12345"。

可以使用 --exclude 選項(xiàng)(和對應(yīng)的 --include)選擇要同步的文件。在這個示例中,排除了常見的備份文件。應(yīng)該根據(jù)需要排除和包含文件,從而優(yōu)化發(fā)送的內(nèi)容。

最后,指定源路徑和目標(biāo)路徑。不要忘記最后的 /*,否則結(jié)果可能不符合期望??梢酝ㄟ^查看文檔了解 some/path、some/path/ 和 some/path/* 之間的差異。但是,使用 /* 是最保險的方法。

可以使用 -a 選項(xiàng) (--archive) 簡化清單 1 中的命令,見 清單 2。(如果作為根在服務(wù)器上運(yùn)行 rsync,-a 選項(xiàng)可能會復(fù)制一些額外的內(nèi)容 — 請查閱文檔 — 這不是一種安全的做法)。rsync 還有許多選項(xiàng);可以通過 rsync --help 和 man rsync 了解所有選項(xiàng)。

未完,查看全文請點(diǎn)擊:rsync 命令家族

【編輯推薦】

  1. 講解Fedora rsync備份鏡像工具
  2. 實(shí)操日記:Linux系統(tǒng)rsync配置和使用
  3. Linux rsync同步由手動到自動
  4. CentOS系統(tǒng)如何解決鼠標(biāo)花屏的問題
  5. rsync從linux到linux的文件同步備份
責(zé)任編輯:chenqingxiang 來源: IBM DW
相關(guān)推薦

2010-06-01 17:14:03

Rsync 參數(shù)

2010-06-07 16:37:30

rsync 下載

2010-06-07 17:04:21

rsync 命令

2010-06-17 14:31:10

Rsync 使用

2010-06-17 14:54:08

Rsync 使用

2010-06-01 18:26:33

Rsync 使用

2010-06-07 15:56:27

2010-06-17 14:43:59

Rsync 使用

2010-06-07 15:25:06

rsync重啟

2010-06-01 18:03:05

Rsync 使用

2017-03-01 12:19:17

rsync Linux系統(tǒng)

2014-12-23 09:37:09

Linuxrsync

2010-09-14 09:15:03

RsyncLinux備份遠(yuǎn)程數(shù)據(jù)同步

2010-06-01 17:44:14

Rsync 使用

2010-06-17 14:34:18

Rsync 使用

2021-06-18 10:28:56

Linuxrsync命令

2010-06-17 14:18:15

Rsync 使用

2021-06-09 08:05:02

Linux 備份數(shù)據(jù)

2010-06-01 18:47:11

Rsync 使用

2010-06-24 11:16:17

Linux Cat命令詳解
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號