rsync 同步檔案

2022-08-19 15:39:10 字數 3932 閱讀 2193

一. 場景:利用rsync實現在負載均衡情況下,專案檔案**實現指定頻率同步

二. 安裝:

1.檢測是否安裝rsync服務

rpm -qa|grep rsync

2.服務端和客戶端安裝rsync

yum -y install rsync

也可原始碼安裝

安裝方式  

./configure

make && make install

伺服器a,b都安裝rsync服務。a為主伺服器,a伺服器以伺服器模式執行rsync,而b則以客戶端方式執行rsync。

當a伺服器有檔案變更時,b同步變更檔案。一實現檔案同步。

三. 服務端配置:

1. 伺服器a配置

vi  /etc/rsyncd.conf                                          #根據自己的檔案目錄而定

#[globle]

strict modes =yes

port = 873

uid =root

gid =root

user chroot =no

max connections = 5

#同時的最大連線數

timeout = 600

pid file = /var/run/rsyncd.pid #程序的pid存放位置

lock file = /var/run/rsyncd.lock

#locak檔案位置

log file = /var/log/rsyncd.log #日誌檔案位置

[eeetb.com-rsyncd] #建立乙個同步名,伺服器b通過此名稱獲得同步位置

path = /home/wwwroot #需要同步的檔案存放位置

ignore errors

read only =no

list =no

hosts allow = ip,ip #允許伺服器b位址,如果是內網可以使用內網ip

auth users =root #允許哪些使用者

secrets file = /etc/rsyncd.password #指定允許的使用者和密碼

2. 建立使用者密碼檔案

vi  /etc/rsyncd.password

root:123456 #允許的使用者和密碼

3. 修改防火牆策略,允許873埠(tcp/udp)

vi /etc/sysconfig/iptables  #加入下面規則

-a input -s ip -p tcp -m state --state new -m tcp --dport 873 -j accept

4. 啟動rsync服務端

/usr/bin/rsync --daemon --config=/etc/rsyncd.conf

新增rsyncd開機啟動

echo '

/usr/bin/rsync --daemon --config=/ect/rsyncd.conf

' >>/etc/rc.local

四. 客戶端配置:

1. 客戶端伺服器b配置

vi  /etc/rsyncd.password

123456 #伺服器a設定的密碼

2. 啟動客戶端

3. 設定定時任務

略。。。

五. 注意:

六 . 基本引數

-v:顯示rsync過程中詳細資訊。可以使用"

-vvvv

"獲取更詳細資訊。

-p:顯示檔案傳輸的進度資訊。(實際上"

-p"="

--partial --progress

",其中的"

--progress

"才是顯示進度資訊的)。

-n --dry-run :僅測試傳輸,而不實際傳輸。常和"

-vvvv

"配合使用來檢視rsync是如何工作的。

-a --archive :歸檔模式,表示遞迴傳輸並保持檔案屬性。等同於"

-rtopgdl"。

-r --recursive:遞迴到目錄中去。

-t --times:保持mtime屬性。強烈建議任何時候都加上"-t"

,否則目標檔案mtime會設定為系統時間,導致下次更新

:檢查出mtime不同從而導致增量傳輸無效。

-o --owner:保持owner屬性(屬主)。

-g --group:保持group屬性(屬組)。

-p --perms:保持perms屬性(許可權,不包括特殊許可權)。

-d :是"

--device --specials

"選項的組合,即也拷貝裝置檔案和特殊檔案。

-z :傳輸時進行壓縮提高效率。

-r --relative:使用相對路徑。意味著將命令列中指定的全路徑而非路徑最尾部的檔名傳送給服務端,包括它們的屬性。用法見下文示例。

--size-only :預設演算法是檢查檔案大小和mtime不同的檔案,使用此選項將只檢查檔案大小。

-u --update :僅在源mtime比目標已存在檔案的mtime新時才拷貝。注意,該選項是接收端判斷的,不會影響刪除行為。

-d --dirs :以不遞迴的方式拷貝目錄本身。預設遞迴時,如果源為"

dir1/file1

",則不會拷貝dir1目錄,使用該選項將拷貝dir1但不拷貝file1。

--max-size :限制rsync傳輸的最大檔案大小。可以使用單位字尾,還可以是乙個小數值(例如:"

--max-size=1.5m")

--min-size :限制rsync傳輸的最小檔案大小。這可以用於禁止傳輸小檔案或那些垃圾檔案。

--exclude :指定排除規則來排除不需要傳輸的檔案。

--delete :以src為主,對dest進行同步。多則刪之,少則補之。注意"

--delete

"是在接收端執行的,所以它是在

:exclude/include規則生效之後才執行的。

-b --backup :對目標上已存在的檔案做乙個備份,備份的檔名後預設使用"~"

做字尾。

--backup-dir:指定備份檔案的儲存路徑。不指定時預設和待備份檔案儲存在同一目錄下。

-e :指定所要使用的遠端shell程式,預設為ssh。

--port :連線daemon時使用的埠號,預設為873埠。

--password-file:daemon模式時的密碼檔案,可以從中讀取密碼實現非互動式。注意,這不是遠端shell認證的密碼,而是rsync模組認證的密碼。

-w --whole-file:rsync將不再使用增量傳輸,而是全量傳輸。在網路頻寬高於磁碟頻寬時,該選項比增量傳輸更高效。

--existing :要求只更新目標端已存在的檔案,目標端還不存在的檔案不傳輸。注意,使用相對路徑時如果上層目錄不存在也不會傳輸。

--ignore-existing:要求只更新目標端不存在的檔案。和"

--existing

"結合使用有特殊功能,見下文示例。

--remove-source-files:要求刪除源端已經成功傳輸的檔案。

rsync 檔案同步

昨天上網找乙個同步工具,windows同步到linux,額,ms不少,但是配置實在是麻煩,而且很多按照步驟做下來 都不能使用,估計rp問題 最鬱悶的事莫過如此,經過乙個下午的努力,額,原來真的行的,分享給大家。估計很多人會覺得囉嗦 一.介紹 不想看直接可以跳過 rsync 是乙個遠端資料同步工具,可...

檔案同步rsync

命令格式 rsync option 源路徑 目標路徑 其中 option a 使用archive模式,等於 rlptgod,即保持原有的檔案許可權 z 表示傳輸時壓縮資料 v 顯示到螢幕中 e 使用遠端shell程式 可以使用rsh或ssh delete 精確儲存副本,源主機刪除的檔案,目標主機也會...

同步檔案rsync

linux中實現遠端複製檔案的方式常用scp命令,簡單方便,例如 scp r node1 data data 操作與使用都很簡單,不能實現檔案的排除等高階操作,下面介紹下常用的命令rsync rsync實現檔案同步的方式包括 一 首先介紹使用rsync伺服器的操作步驟 安裝rsync伺服器 yum ...