歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Rsync的使用-Linux遠程同步備份工具

Rsync的使用-Linux遠程同步備份工具

日期:2017/2/28 16:27:25   编辑:Linux教程

Rsync是一個遠程數據同步工具,可通過LAN 或互聯網快速同步多台主機間的文件。Rsync 本來是用以取代 rcp的一個工具,它當前由 rsync.samba.org 維護。Rsync 使用所謂的”Rsync演算法”來使本地和遠程兩個主機之間的文件達到同步,這個算法只傳送兩個文件的不同部分,而不是每次都整份傳送,因此速度相當快。

高效率文件同步

rsync擁有cp與rcp工具所缺乏的優點。例如,如果你使用rsync將foo計算機中的30個文件復制到bar計算機,cp將只會復制文件,並將bar已有的相同文件覆蓋。然而,rsync將快速比較foo與bar相同路徑上的文件,並查明二者的文件差異,然後只復制不同部分的文件,這樣就可以減少大量的文件復制時間。
crontab -e

30 4 * * * user rsync –aP –e ssh host:remotedir localdir

Rsync的基本特點如下:
  1.可以鏡像保存整個目錄樹和文件系統;
  2.可以很容易做到保持原來文件的權限、時間、軟硬鏈接等;
  3.無須特殊權限即可安裝;
  4.優化的流程,文件傳輸效率高;
  5.可以使用rcp、ssh等方式來傳輸文件,當然也可以通過直接的socket連接;
  6.支持匿名傳輸

快速:第一次同步時 rsync 會復制全部內容,但在下一次只傳輸修改過的文件。
安全:rsync 允許通過 ssh 協議來加密傳輸數據。
更少的帶寬:rsync 在傳輸數據的過程中可以實行壓縮及解壓縮操作,因此可以使用更少的帶寬。
特權:安裝和執行 rsync 無需特別的權限
基本語法:

rsync options source destination源和目標都可以是本地或遠程,www.linuxidc.com在進行遠程傳輸的時候,需要指定登錄名、遠程服務器及文件位置


樣例:

1 在本地機器上對兩個目錄進行同步

$ rsync -zvr /var/opt/installation/inventory/ /root/temp
building file list … done
sva.xml
svB.xml
.
sent 26385 bytes received 1098 bytes 54966.00 bytes/sec
total size is 44867 speedup is 1.63
$參數:

-z 開啟壓縮
-v 詳情輸出
-r 表示遞歸
2 利用 rsync -a 讓同步時保留時間標記

rsync 選項 -a 稱為歸檔模式,執行以下操作

遞歸模式
保留符號鏈接
保留權限
保留時間標記
保留用戶名及組名
$ rsync -azv /var/opt/installation/inventory/ /root/temp/
building file list … done
./
sva.xml
svB.xml
.
sent 26499 bytes received 1104 bytes 55206.00 bytes/sec
total size is 44867 speedup is 1.63
$3 僅同步一個文件

$ rsync -v /var/lib/rpm/Pubkeys /root/temp/
Pubkeys

sent 42 bytes received 12380 bytes 3549.14 bytes/sec
total size is 12288 speedup is 0.994 從本地同步文件到遠程服務器

$ rsync -avz /root/temp/ [email protected]:/home/thegeekstuff/temp/
Password:
building file list … done
./
rpm/
rpm/Basenames
rpm/Conflictname

sent 15810261 bytes received 412 bytes 2432411.23 bytes/sec
total size is 45305958 speedup is 2.87就像你所看到的,需要在遠程目錄前加上 ssh 登錄方式,格式為 username@machinename:path

Copyright © Linux教程網 All Rights Reserved