rsync?server服務端配置文件?rsyncd.conf參數(shù)詳解
一. rsync概述
rsync是Linux系統(tǒng)下的數(shù)據(jù)鏡像備份工具,使用快速增量備份工具Remote Sync可以遠程同步,支持本地復制,或者與其他SSH、rsync主機同步。
rsync英文稱為remote synchronizetion,從軟件的名稱就可以看出來,rsync具有可使本地和遠程兩臺主機之間的數(shù)據(jù)快速復制同步鏡像、遠程備份的功能,這個功能類似于ssh帶的scp命令,但是又優(yōu)于scp命令的功能,scp每次都是全量拷貝,而rsync可以增量拷貝。
rsync還可以在本地主機的不同分區(qū)或目錄之間全量及增量的復制數(shù)據(jù),這又類似cp命令。但是同樣也優(yōu)于cp命令,cp每次都是全量拷貝,而rsync可以增量拷貝。
官方網(wǎng)站:https://rsync.samba.org/
二. rsync配置文件舉例
vim /etc/rsyncd.conf ##全局配置 uid = rsync #用戶 gid = rsync #用戶組 use chroot = no #安全相關 max connections = 200 #最大鏈接數(shù) timeout = 300 #超時時間 pid file = /var/run/rsyncd.pid #進程對應的進程號文件 lock file = /var/run/rsync.lock #鎖文件 log file = /var/log/rsyncd.log #日志文件,顯示出錯信息 ##模塊配置 [backup] #模塊名稱 path = /data #模塊對應的位置(路徑) ignore errors #忽略錯誤程序 read only = false #是否只讀 list = false #是否可以列表 hosts allow = 10.0.0.0/24 #準許訪問rsync服務器的客戶范圍 hosts deny = 0.0.0.0/32 #禁止訪問rsync服務器的客戶范圍 auth users = rsync_backup #不存在的用戶;只用于認證 secrets file = /etc/rsync.password #設置進行連接認證的密匙文件
三. rsync配置文件詳解
1. 配置文件的組成:
配置文件分為兩部分: 全局參數(shù),模塊參數(shù)
- 全局參數(shù):對rsync服務器生效,如果模塊參數(shù)和全局參數(shù)沖突,沖突的地方模塊參數(shù)最終生效。
- 模塊參數(shù):定義需要通過rsync輸出的目錄定義的參數(shù)。
2. 常見的全局參數(shù)
1) port
指定后臺程序使用的端口號,默認為873。
2) uid
該選項指定當該模塊傳輸文件時守護進程應該具有的uid,配合gid選項使用可以確定哪些可以訪問怎么樣的文件權(quán)限,默認值是" nobody"。
3) gid
當該模塊傳輸文件時守護進程應該具有的gid。默認值為" nobody"。
4) max connections
指定該模塊的最大并發(fā)連接數(shù)量以保護服務器,超過限制的連接請求將被告知隨后再試。默認值是0,也就是沒有限制
5) lock file
指定支持max connections參數(shù)的鎖文件,默認值是/var/run/rsyncd.lock
6) motd file
motd file"參數(shù)用來指定一個消息文件,當客戶連接服務器時該文件的內(nèi)容顯示給客戶,默認是沒有motd文件的
7) log file
定rsync的日志文件,而不將日志發(fā)送給syslog。
8) pid file
指定rsync的pid文件,通常指定為“/var/run/rsyncd.pid”,存放進程ID的文件位置。
9)hosts allow
單個IP地址或網(wǎng)絡地址,允許訪問的客戶機地址
3. 常見模塊參數(shù)
常見模塊參數(shù)主要是定義服務器哪個要被同步輸出,其格式必須為“ [ 共享模塊名 ]” 形式,這個名字就是在 rsync 客戶端看到的名字,其實很像 samba 服務器提供的共享名。而服務器真正同步的數(shù)據(jù)是通過 path 來指定的。
1) Comment
模塊指定一個描述,該描述連同模塊名在客戶連接得到模塊列表時顯示給客戶。默認沒有描述定義。
2) path
指定該模塊的供備份的目錄樹路徑,該參數(shù)是必須指定的。
3) read only
yes為只允許下載,no為可以下載和上傳文件到服務器。
4)exclude
用來指定多個由空格隔開的多個文件或目錄(相對路徑),將其添加到exclude列表中。這等同于在客戶端命令中使用―exclude或----filter來指定某些文件或目錄不下載或上傳(既不可訪問)
5) exclude from
指定一個包含exclude模式的定義的文件名,服務器從該文件中讀取exclude列表定義,每個文件或目錄需要占用一行
6) include
用來指定不排除符合要求的文件或目錄。這等同于在客戶端命令中使用–include來指定模式,結(jié)合include和exclude可以定義復雜的exclude/include規(guī)則。
7) include from
指定一個包含include模式的定義的文件名,服務器從該文件中讀取include列表定義。
8)auth users
該選項指定由空格或逗號分隔的用戶名列表,只有這些用戶才允許連接該模塊。
這里的用戶和系統(tǒng)用戶沒有任何關系。如果" auth users"被設置,那么客戶端發(fā)出對該模塊的連接請求以后會被rsync請求challenged進行驗證身份這里使用的challenge/response認證協(xié)議。
用戶的名和密碼以明文方式存放在" secrets file"選項指定的文件中。默認情況下無需密碼就可以連接模塊(也就是匿名方式)。
9)secrets file
該選項指定一個包含定義用戶名:密碼對的文件。只有在" auth users"被定義時,該文件才有作用。
文件每行包含一個username:passwd對。一般來說密碼最好不要超過8個字符。沒有默認的secures file名,注意:該文件的權(quán)限一定要是600,否則客戶端將不能連接服務器。
10)hosts allow
指定哪些IP的客戶允許連接該模塊。定義可以是以下形式:
單個IP地址,例如:192.167.0.1,多個IP或網(wǎng)段需要用空格隔開。
整個網(wǎng)段,例如:192.168.0.0/24,也可以書寫為192.168.0.0/255.255.255.0
“*”則表示所有,默認是允許所有主機連接。
11)hosts deny
指定不允許連接rsync服務器的機器,可以使用hosts allow的定義方式來進行定義。默認是沒有hosts deny定義
12)list
該選項設定當客戶請求可以使用的模塊列表時,該模塊是否應該被列出。如果設置該選項為false,可以創(chuàng)建隱藏的模塊。默認值是true。
13)timeout
通過該選項可以覆蓋客戶指定的IP超時時間。
通過該選項可以確保rsync服務器不會永遠等待一個崩潰的客戶端。超時單位為秒鐘,0表示沒有超時定義,這也是默認值。對于匿名rsync服務器來說,一般會定義為600.
4.rsync詳細配置
linux版
創(chuàng)建用戶:
[root@localhost ~]# useradd rsync -s /sbin/nologin -M
創(chuàng)建認證用戶的密碼:
[root@localhost ~]# echo “rsync_backup:123456” > /etc/rsync.passwd
[root@localhost ~]# chmod 600 /etc/rsync.passwd
準備模塊目錄:
[root@localhost ~]# mkdir /backup
[root@localhost ~]# chown rsync:rsync /backup
重啟服務:
[root@localhost ~]# systemctl restart rsyncd
客戶端遠程傳輸:
[root@localhost ~]# rsync -avz /etc/hosts rsync_backup@192.168.20.10::backup
通過密碼文件實現(xiàn)免密傳輸
[root@localhost ~]# vim /etc/rsync.passwd
[root@localhost ~]# chmod 600 /etc/rsync.passwd
[root@localhost ~]# rsync -avz /etc/hosts rsync_backup@192.168.20.10::backup --password-file /etc/rsync.passwd
windows版本

需要密碼文件 wtjb51.conf 內(nèi)容如下
wtjb51:www.fzitv.net
rsyncd.conf 配置文件如下
uid = 0 gid = 0 use chroot = false strict modes = false hosts allow = 103.186.108.253 log file = rsyncd.log pid file = rsyncd.pid fake super = yes # Module definitions # Remember cygwin naming conventions : c:\work becomes /cygwin/c/work # [downjb51] path = /cygdrive/d/webroot/downjb51 read only = false transfer logging = yes secrets file=wtjb51.conf
另外如果服務器有防火墻需要將873設為例外
客戶端rsync客戶端命令
@echo off cd /d D:\Program Files (x86)\cwRsync\bin\ title dbback 同步 rsync -vzrtopg --progress --delete --no-super --password-file=/cygdrive/d/wtjb51.secrets /cygdrive/M/databak jb51@198.168.14.0::dbbak
服務器端同步目錄權(quán)限

服務器端目錄例如 webroot 需要加上這個用戶,要不就把這個用戶設置為管理員就是不如上面的安全
總結(jié)
本文主要介紹了rsync的配置文件的詳細參數(shù),也在文章的開篇舉了一個例子來說明怎么寫配置文件。下篇文章我們將來討論,使用rsync配置文件定義目錄輸出。
相關文章
win11安裝wsl報錯之無法解析服務器的名稱或地址的問題及解決方法
項目開發(fā)中,需要用到wsl,因此根據(jù)wsl官方(WSL安裝教程)命令?wsl --install 進行wsl的安裝,本文主要是記錄自己在安裝wsl中遇到的問題"無法解析服務器的名稱或地址"的解決辦法,感興趣的朋友一起看看吧2024-04-04
寶塔面板phpMyadmin數(shù)據(jù)庫管理出現(xiàn)500錯誤的解決方法
寶塔面板phpMyadmin數(shù)據(jù)庫管理出現(xiàn)500錯誤的解決方法,經(jīng)常會出現(xiàn)數(shù)據(jù)庫管理phpMyadmin打不開,或則出現(xiàn)500內(nèi)部服務器錯誤,本文介紹如果出現(xiàn)這個問題該如何解決2023-08-08
TCP socket SYN隊列和Accept隊列區(qū)別原理解析
這篇文章主要介紹了TCP socket SYN隊列和Accept隊列區(qū)別原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-12-12

