激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Linux|Centos|Ubuntu|系統進程|Fedora|注冊表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服務器之家 - 服務器系統 - Centos - CentOS6中rsync服務器的安裝與配置

CentOS6中rsync服務器的安裝與配置

2019-09-28 16:44服務器之家 Centos

本文主要介紹CentOS上使用rsync同步文件的方法。Rsync是remote sync的簡稱,是linux系統下的一款常用數據鏡像備份工具

一、rsync 簡介

  Rsync(remote synchronize)是一個遠程數據同步工具,可通過LAN/WAN快速同步多臺主機間的文件,也可以使用 Rsync 同步本地硬盤中的不同目錄。

  Rsync 是用于取代rcp的一個工具,Rsync使用所謂的 “Rsync 算法” 來使本地和遠程兩個主機之間的文件達到同步,這個算法只傳送兩個文件的不同部分,而不是每次都整份傳送,因此速度相當快。您可以參考 How Rsync Works A Practical Overview 進一步了解 rsync 的運作機制。

  Rsync支持大多數的類Unix系統,無論是Linux、Solaris還是BSD上都經過了良好的測試。此外,它在windows平臺下也有相應的版本,比較知名的有cwRsync和Sync2NAS。

  Rsync 的初始作者是 Andrew Tridgell 和 Paul Mackerras,它當前由 http://rsync.samba.org維護。

  Rsync的基本特點如下:

  1. 可以鏡像保存整個目錄樹和文件系統;

  2. 可以很容易做到保持原來文件的權限、時間、軟硬鏈接等;

  3. 無須特殊權限即可安裝;

  4. 優化的流程,文件傳輸效率高;

  5. 可以使用rcp、ssh等方式來傳輸文件,當然也可以通過直接的socket連接;

  6. 支持匿名傳輸,以方便進行網站鏡像。

  在使用 rsync 進行遠程同步時,可以使用兩種方式:遠程 Shell 方式(建議使用 ssh,用戶驗證由 ssh 負責)和 C/S 方式(即客戶連接遠程 rsync 服務器,用戶驗證由 rsync 服務器負責)。

  無論本地同步目錄還是遠程同步數據,首次運行時將會把全部文件拷貝一次,以后再運行時將只拷貝有變化的文件(對于新文件)或文件的變化部分(對于原有文件)。

  rsync 在首次復制時沒有速度優勢,速度不如 tar,因此當數據量很大時您可以考慮先使用 tar 進行首次復制,然后再使用 rsync 進行數據同步。

二、系統環境

系統平臺:CentOS release 6.3 (Final)

rsync 版本:rsync-3.0.9-2.el6.rfx.x86_64.rpm

rsync 服務器:TS-DEV (172.16.1.135)

rsync 客戶端:TS-CLIENT (172.16.1.136)

三、服務器端安裝rsync服務

3.1. 檢查rsync 是否已經安裝

# rpm -qa|grep rsync

若已經安裝,則使用rpm -e 命令卸載。

3.2. 下載RPM包

# wget http://pkgs.repoforge.org/rsync/rsync-3.0.9-2.el6.rfx.x86_64.rpm

3.3. 安裝rsync

# rpm -ivh rsync-3.0.9-2.el6.rfx.x86_64.rpm

四、配置 rsync 服務

4.1. 配置 rsync 服務器的步驟

  • 首先要選擇服務器啟動方式
  • 對于負荷較重的 rsync 服務器應該使用獨立運行方式
  • 對于負荷較輕的 rsync 服務器可以使用 xinetd 運行方式
  • 創建配置文件 rsyncd.conf
  • 對于非匿名訪問的 rsync 服務器還要創建認證口令文件

4.2. 以 xinetd 運行 rsync 服務

CentOS 默認以 xinetd 方式運行 rsync 服務。rsync 的 xinetd 配置文件
在 /etc/xinetd.d/rsync。要配置以 xinetd 運行的 rsync 服務需要執行如下的命令:

# chkconfig rsync on# service xinetd restart

管理員可以修改 /etc/xinetd.d/rsync 配置文件以適合您的需要。例如,您可以修改配置行

server_args = --daemon

在后面添加 rsync 的服務選項。

4.3. 獨立運行 rsync 服務

最簡單的獨立運行 rsync 服務的方法是執行如下的命令:

# /usr/bin/rsync --daemon

您可以將上面的命令寫入 /etc/rc.local 文件以便在每次啟動服務器時運行 rsync 服務。當然,您也可以寫一個腳本在開機時自動啟動 rysnc 服務。

4.4. 配置文件 rsyncd.conf

兩種 rsync 服務運行方式都需要配置 rsyncd.conf,其格式類似于 samba 的主配置文件。
配置文件 rsyncd.conf 默認在 /etc 目錄下。為了將所有與 rsync 服務相關的文件放在單獨的目錄下,可以執行如下命令:

# mkdir /etc/rsyncd# touch /etc/rsyncd/rsyncd.conf# ln -s /etc/rsyncd/rsyncd.conf /etc/rsyncd.conf

配置文件 rsyncd.conf 由全局配置和若干模塊配置組成。配置文件的語法為:

  • 模塊以 [模塊名] 開始
  • 參數配置行的格式是 name = value ,其中 value 可以有兩種數據類型:
  • 字符串(可以不用引號定界字符串)
  • 布爾值(1/0 或 yes/no 或 true/false)
  • 以 # 或 ; 開始的行為注釋
  • \ 為續行符

    全局參數

    在文件中 [module] 之外的所有配置行都是全局參數。當然也可以在全局參數部分定義模塊參數,這時該參數的值就是所有模塊的默認值。

    參數

    說明

    默認值

    address

    在獨立運行時,用于指定的服務器運行的 IP 地址。由 xinetd 運行時將忽略此參數,使用命令行上的 –address 選項替代。

    本地所有IP

    port

    指定 rsync 守護進程監聽的端口號。 由 xinetd 運行時將忽略此參數,使用命令行上的–port 選項替代。

    873

    motd file

    指定一個消息文件,當客戶連接服務器時該文件的內容顯示給客戶。

    pid file

    rsync 的守護進程將其 PID 寫入指定的文件。

    log file

    指定 rsync 守護進程的日志文件,而不將日志發送給 syslog。

    syslog facility

    指定 rsync 發送日志消息給 syslog 時的消息級別。

    daemon

    socket options

    指定自定義 TCP 選項。

    模塊參數

    模塊參數主要用于定義 rsync 服務器哪個目錄要被同步。模塊聲明的格式必須為 [module] 形式,這個名字就是在 rsync 客戶端看到的名字,類似于 Samba 服務器提供的共享名。而服務器真正同步的數據是通過 path 來指定的。可以根據自己的需要,來指定多個模塊,模塊中可以定義以下參數:

    a. 基本模塊參數

    參數

    說明

    默認值

    path

    指定當前模塊在 rsync 服務器上的同步路徑,該參數是必須指定的。

    comment

    給模塊指定一個描述,該描述連同模塊名在客戶連接得到模塊列表時顯示給客戶。

    b. 模塊控制參數

    參數

    說明

    默認值

    use chroot

    若為 true,則 rsync 在傳輸文件之前首先 chroot 到 path 參數所指定的目錄下。這樣做的原因是實現額外的安全防護,但是缺點是需要 root 權限,并且不能備份指向 path 外部的符號連接所指向的目錄文件。

    true

    uid

    指定該模塊以指定的 UID 傳輸文件。

    nobody

    gid

    指定該模塊以指定的 GID 傳輸文件。

    nobody

    max connections

    指定該模塊的最大并發連接數量以保護服務器,超過限制的連接請求將被告知隨后再試。

    0(沒有限制)

    lock file

    指定支持 max connections 參數的鎖文件。

    /var/run/rsyncd.lock

    list

    指定當客戶請求列出可以使用的模塊列表時,該模塊是否應該被列出。如果設置該選項為 false,可以創建隱藏的模塊。

    true

    read only

    指定是否允許客戶上傳文件。若為 true 則不允許上傳;若為 false 并且服務器目錄也具有讀寫權限則允許上傳。

    true

    write only

    指定是否允許客戶下載文件。若為 true 則不允許下載;若為 false 并且服務器目錄也具有讀權限則允許下載。

    false

    ignore errors

    指定在 rsync 服務器上運行 delete 操作時是否忽略 I/O 錯誤。一般來說 rsync 在出現 I/O 錯誤時將將跳過 –delete 操作,以防止因為暫時的資源不足或其它 I/O 錯誤導致的嚴重問題。

    true

    ignore nonreadable

    指定 rysnc 服務器完全忽略那些用戶沒有訪問權限的文件。這對于在需要備份的目錄中有些不應該被備份者獲得的文件時是有意義的。

    false

    timeout

    該選項可以覆蓋客戶指定的 IP 超時時間。從而確保 rsync 服務器不會永遠等待一個崩潰的客戶端。對于匿名 rsync 服務器來說,理想的數字是 600(單位為秒)。

    0 (未限制)

    dont compress

    用來指定那些在傳輸之前不進行壓縮處理的文件。該選項可以定義一些不允許客戶對該模塊使用的命令選項列表。必須使用選項全名,而不能是簡稱。當發生拒絕某個選項的情況時,服務器將報告錯誤信息然后退出。例如,要防止使用壓縮,應該是:”dont compress = *”。

    *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz

    c. 模塊文件篩選參數

    參數

    說明

    默認值

    exclude

    指定多個由空格隔開的多個文件或目錄(相對路徑),并將其添加到 exclude 列表中。這等同于在客戶端命令中使用 –exclude 來指定模式。

    exclude from

    指定一個包含 exclude 規則定義的文件名,服務器從該文件中讀取 exclude 列表定義。

    include

    指定多個由空格隔開的多個文件或目錄(相對路徑),并將其添加到 include 列表中。這等同于在客戶端命令中使用 –include 來指定模式 。

    include from

    指定一個包含 include 規則定義的文件名,服務器從該文件中讀取 include 列表定義。

    一個模塊只能指定一個exclude 參數、一個include 參數。結合 include 和 exclude 可以定義復雜的exclude/include 規則 。這幾個參數分別與相應的rsync 客戶命令選項等價,唯一不同的是它們作用在服務器端。關于如何書寫規則文件的內容請參考http://www.howtocn.org/rsync:use_rsync。

    d. 模塊用戶認證參數

    參數

    說明

    默認值

    auth users

    指定由空格或逗號分隔的用戶名列表,只有這些用戶才允許連接該模塊。這里的用戶和系統用戶沒有任何關系。用戶名和口令以明文方式存放在 secrets file 參數指定的文件中。

    (匿名方式)

    secrets file

    指定一個 rsync 認證口令文件。只有在 auth users 被定義時,該文件才起作用。

    strict modes

    指定是否監測口令文件的權限。若為 true 則口令文件只能被 rsync 服務器運行身份的用戶訪問,其他任何用戶不可以訪問該文件。

    true

    rsync 認證口令文件的權限一定是 600,否則客戶端將不能連接服務器。rsync 認證口令文件中每一行指定一個 用戶名:口令 對,格式為:

        username:passwd

    一般來說口令最好不要超過8個字符。若您只配置匿名訪問的 rsync 服務器,則無需設置上述參數。

    e. 模塊訪問控制參數

    參數

    說明

    默認值

    hosts allow

    用一個主機列表指定哪些主機客戶允許連接該模塊。不匹配主機列表的主機將被拒絕。

    *

    hosts deny

    用一個主機列表指定哪些主機客戶不允許連接該模塊。

    客戶主機列表定義可以是以下形式:

    單個IP地址。例如:192.168.0.1整個網段。例如:192.168.0.0/24,192.168.0.0/255.255.255.0可解析的單個主機名。例如:centos,centos.bsmart.cn域內的所有主機。例如:*.bsmart.cn“*”則表示所有。多個列表項要用空格間隔。

    f. 模塊日志參數

    參數

    說明

    默認值

    transfer logging

    使 rsync 服務器將傳輸操作記錄到傳輸日志文件。

    false

    log format

    指定傳輸日志文件的字段。

    ”%o %h [%a] %m (%u) %f %l”

    設置了”log file”參數時,在日志每行的開始會添加”%t [%p]“。

    可以使用的日志格式定義符如下所示:
  • %a - 遠程IP地址

  • %h - 遠程主機名

  • %l - 文件長度字符數

  • %p - 該次 rsync 會話的 PID

  • %o - 操作類型:”send” 或 “recv”

  • %f - 文件名

  • %P - 模塊路徑

  • %m - 模塊名

  • %t - 當前時間

  • %u - 認證的用戶名(匿名時是 null)

  • %b - 實際傳輸的字節數

  • %c - 當發送文件時,記錄該文件的校驗碼

    五、rsync 服務器應用案例

    5.1. 在服務器端TS-DEV上配置rsync 服務

    a. 編輯配置文件

    # vi /etc/rsyncd/rsyncd.conf

    # Minimal configuration file for rsync daemon# See rsync(1) and rsyncd.conf(5) man pages for help# This line is required by the /etc/init.d/rsyncd script
    # GLOBAL OPTIONSuid = root gid = root 
    use chroot = no 
    read only = yes #limit access to private LANshosts allow=172.16.0.0/255.255.0.0 192.168.1.0/255.255.255.0 10.0.1.0/255.255.255.0hosts deny=* max connections = 5 

    pid file = /var/run/rsyncd.pid 

    secrets file = /etc/rsyncd/rsyncd.secrets #lock file = /var/run/rsync.lock 
    motd file = /etc/rsyncd/rsyncd.motd #This will give you a separate log filelog file = /var/log/rsync.log #This will log every file transferred - up to 85,000+ per user, per synctransfer logging = yes log format = %t %a %m %f %bsyslog facility = local3timeout = 300
    # MODULE OPTIONS[davidhome] path = /home/david/ list=yes ignore errors auth users = david comment = David home exclude = important/ [chinatmp]path = /tmp/china/list=noignore errorsauth users = chinacomment = tmp_china

    b. 建立/etc/rsyncd/rsyncd.secrets文件

    # vim /etc/rsyncd/rsyncd.secrets

    david:asdf #格式 用戶名:口令
    china:jk #該用戶不要求是系統用戶

    c. 為了密碼的安全性,我們把權限設為600

    # chown root:root /etc/rsyncd/rsyncd.secrets

    # chmod 600 /etc/rsyncd/rsyncd.secrets

    d. 建立連接到服務器的客戶端看到的歡迎信息文件/etc/rsyncd/rsyncd.motd

    # vim /etc/rsyncd/rsyncd.motd

    +++++++++++++++++++++++++++
    + David Camp +
    +++++++++++++++++++++++++++

    e. 啟動rsync

    # /etc/init.d/xinetd restart

    f. 查看873端口是否起來

    # netstat -an | grep 873

    如果rsync啟動成功的話可以看到873端口已經在監聽了。

    g. 服務器端文件詳細

    CentOS6中rsync服務器的安裝與配置

    5.2. 客戶端配置

    a. 客戶端安裝rsync

    # yum -y install rsync

    b. 通過rsync客戶端來同步數據

    場景一:

    # rsync -avzP david@172.16.1.135::davidhome /tmp/david/

    CentOS6中rsync服務器的安裝與配置

    Password: 這里要輸入david的密碼,是服務器端提供的,在前面的例子中,我們用的是 asdf,輸入的密碼并不顯示出來;輸好后就回車;
    注: 這個命令的意思就是說,用david 用戶登錄到服務器上,把davidhome數據,同步到本地目錄/tmp/david/上。當然本地的目錄是可以你自己定義的,比如 dave也是可以的;當你在客戶端上,當前操作的目錄下沒有davidhome這個目錄時,系統會自動為你創建一個;當存在davidhome這個目錄中,你要注意它的寫權限。

    說明:
    -a 參數,相當于-rlptgoD,-r 是遞歸 -l 是鏈接文件,意思是拷貝鏈接文件;-p 表示保持文件原有權限;-t 保持文件原有時間;-g 保持文件原有用戶組;-o 保持文件原有屬主;-D 相當于塊設備文件;
    -z 傳輸時壓縮;
    -P 傳輸進度;
    -v 傳輸時的進度等信息,和-P有點關系,自己試試。可以看文檔;

    場景二:
    # rsync -avzP --delete david@172.16.1.135::davidhome /tmp/david/

    CentOS6中rsync服務器的安裝與配置

    這回我們引入一個 –delete 選項,表示客戶端上的數據要與服務器端完全一致,如果 /tmp/david/目錄中有服務器上不存在的文件,則刪除。最終目的是讓/tmp/david/目錄上的數據完全與服務器上保持一致;用的時候要小心點,最好不要把已經有重要數所據的目錄,當做本地更新目錄,否則會把你的數據全部刪除;

    場景三:
    # rsync -avzP --delete --password-file=/tmp/rsync.password david@172.16.1.135::davidhome /tmp/david/

    CentOS6中rsync服務器的安裝與配置

    這次我們加了一個選項 –password-file=rsync.password ,這時當我們以david用戶登錄rsync服務器同步數據時,密碼將讀取 /tmp/rsync.password 這個文件。這個文件內容只是david用戶的密碼。我們要如下做;

    # touch /tmp/rsync.password
    # chmod 600 /tmp/rsync.password
    # echo "asdf"> /tmp/rsync.password
    # rsync -avzP --delete --password-file=/tmp/rsync.password david@172.16.1.135::davidhome /tmp/david/

    注: 這樣就不需要密碼了;其實這是比較重要的,因為服務器通過crond 計劃任務還是有必要的;

    5.3. rsync 客戶端自動與服務器同步數據

    編輯crontab
    # crontab -e
    加入如下代碼:

    10 0 * * * rsync -avzP --delete --password-file=/tmp/rsync.password david@172.16.1.135::davidhome /tmp/david/

    表示每天0點10分執行后面的命令。

    六、錯誤分析

    @ERROR: chdir failed
    rsync error: error starting client-server protocol (code 5) at main.c(1530) [receiver=3.0.6]

    CentOS6中rsync服務器的安裝與配置

    rsync: opendir "." (in xxxxxxx) failed: Permission denied (13)

    CentOS6中rsync服務器的安裝與配置

    解決辦法:

    1、將 selinux 對 rsync 的限制全部去掉:
    # /usr/sbin/setsebool -P rsync_disable_trans 1
    # service xinetd restart

    2、狠一點,禁止整個 selinux :
    # vim /etc/selinux/config
    將其中的 SELINUX=enforcing 修改為 SELINUX=disabled
    保存退出后,重啟機器。

    至此,rsync服務器配置完畢。

    七、參考

    關于rsync 命令的使用,請參考:http://www.howtocn.org/rsync:use_rsync

    關于rsync 服務的詳細說明,請參考:http://www.howtocn.org/rsync:use_rsync_server

延伸 · 閱讀

精彩推薦
  • CentosCentos 7開啟網卡自動獲取IP的詳細方法

    Centos 7開啟網卡自動獲取IP的詳細方法

    本篇文章主要介紹了Centos 7開啟網卡自動獲取IP的詳細方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧...

    凌鋒8972021-12-29
  • Centoscentos不小心刪除/root目錄該如何解決?

    centos不小心刪除/root目錄該如何解決?

    一些朋友最近在問小編centos不小心刪除/root目錄該如何解決?今天小編就為大家分享centos不小心刪除/root目錄解決辦法;希望對大家會有幫助,有需要的朋友...

    腳本之家8022019-05-29
  • CentosCentos7運用/dev/shm進行網站優化

    Centos7運用/dev/shm進行網站優化

    這篇文章主要介紹了LINUX中Centos7運用/dev/shm進行網站優化相關知識點,對此有興趣的朋友參考學習下。...

    彬菌9912022-03-02
  • CentosCentOS6.5下Redis安裝與配置詳細步驟

    CentOS6.5下Redis安裝與配置詳細步驟

    本篇文章主要介紹了CentOS6.5下Redis安裝與配置詳細步驟,詳細介紹redis單機單實例安裝與配置,服務及開機自啟動。有興趣的可以了解一下。...

    飛流11452021-12-24
  • CentosCentOS7設置日期和時間方法以及基本概念介紹

    CentOS7設置日期和時間方法以及基本概念介紹

    這篇文章主要介紹了CentOS7設置日期和時間方法以及基本概念介紹,本文講解使用CentOS7中的新命令timedatectl設置日期時間方法,需要的朋友可以參考下 ...

    CentOS之家6522019-09-19
  • CentosCentOS下Uptime命令詳解

    CentOS下Uptime命令詳解

    在Linux下,我們可以使用uptime命令,而且此命令不必使用root權限。uptime命令在系統中已經默認安裝了。今天小編為大家帶來的是CentOS下Uptime命令詳解;希望...

    CentOS之家11482019-06-19
  • Centoscentos 安裝與操作方法

    centos 安裝與操作方法

    這篇文章主要介紹了centos 安裝與操作方法,需要的朋友可以參考下...

    centos之家5272019-07-11
  • CentosCentOS 6.6實現永久修改DNS地址的方法

    CentOS 6.6實現永久修改DNS地址的方法

    這篇文章主要介紹了CentOS 6.6實現永久修改DNS地址的方法,涉及針對CentOS配置文件的相關設置技巧,具有一定參考借鑒價值,需要的朋友可以參考下 ...

    Linux社區4472020-08-21
主站蜘蛛池模板: av手机在线免费播放 | 91九色网 | 羞羞视频免费网站 | 欧美日韩国产综合网 | 国产日韩a | 久久综合一区 | 高清在线观看av | 亚洲va国产va | 黄色免费小视频网站 | 日本中文视频 | 黄色片视频免费观看 | 中国免费黄色 | 日本精品久久久久 | 久久国产成人精品国产成人亚洲 | 免费看操片 | 欧美一级高清片 | 午夜小视频免费观看 | 国产精品99久久久久久久女警 | 一区二区三区四区五区中文字幕 | 精品一区在线视频 | 亚洲免费毛片基地 | 亚洲一区在线视频观看 | 亚洲人成网站免费播放 | 日本一区二区不卡高清 | 538任你躁在线精品视频网站 | 午夜电影视频 | av在线免费播放网站 | xxxx hd videos| 综合精品 | 黄色一级片免费观看 | www.17c亚洲蜜桃 | 九色 在线 | tube69xxxxxhd | 国产精品色综合 | 九九色在线观看 | 看免费黄色一级片 | 黄色片网站免费看 | 91网页在线观看 | 92看片淫黄大片欧美看国产片 | 日韩中文字幕三区 | 亚洲卡通动漫在线观看 |