歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux服務器

使用Linux的rsync命令實現:多服務器鏡像同步

 實現功能:當用戶在本地客戶端某目錄內建立、修改、刪除目錄或文件、修改目錄或文件的屬性,只要執行相同的shell腳本,rsync就會自動找出有改動或刪除的數據,將其傳送到服務器上,使Linux服務器端某目錄內的數據跟本地客戶端某目錄內的數據保持一致。 ★方式一:

  一、服務器端(例:10.0.0.1*):

  1、創建用戶和組

    groupadd www -g 48

    useradd -u 48 -g www www

    mkdir -p /opt/htdocs

    chmod +w /opt/htdocs

    chown www:www /opt/htdocs

      2、編輯rsync的配置文件

    vi /etc/rsyncd.conf

      輸入以下內容:

    uid=www

    gid=www

    max connections=10

    use chroot=no

    log file=/var/log/rsyncd.log

    pid file=/var/run/rsyncd.pid

    lock file=/var/run/rsyncd.lock

    [zhangyan]

    path=/opt/htdocs

    comment = my htdocs

    ignore errors

    read only = no

    hosts allow=10.0.0.21 10.0.0.22

      3、啟動rsync服務器端

    /usr/bin/rsync --daemon

      二、客戶端(例:10.0.0.21和10.0.0.22):

      1、創建一個shell腳本push.sh

    vi push.sh

      輸入以下內容(10.0.0.1*為要推送到的目標服務器,zhangyan為服務器端rsyncd.conf配置文件中的模塊名):

    引用

    #!/bin/sh

    /usr/bin/rsync -vzrtopg --delete {GetProperty(Content)} 10.0.0.10::zhangyan/

    /usr/bin/rsync -vzrtopg --delete {GetProperty(Content)} 10.0.0.11::zhangyan/

    /usr/bin/rsync -vzrtopg --delete {GetProperty(Content)} 10.0.0.16::zhangyan/

    /usr/bin/rsync -vzrtopg --delete {GetProperty(Content)} 10.0.0.19::zhangyan/

    注:因為是內部局域網之間傳輸,這裡沒有設置密碼。

      2、賦予push.sh執行權限

    chmod +x ./push.sh

      3、同步推送客戶端某個目錄中(例:/home/zhanguan/abc)的文件到服務器端的/opt/htdocs目錄:

    ./push.sh /home/zhanguan/abc/

      注意:不要忘了abc後面的/。如果更改的文件太大,可以在上面語句的末尾加上空格和&號,推到後台執行。例:

    ./push.sh /home/zhanguan/abc/ &

      ★方式二:

      一、服務器端(例:10.0.0.1*):

      1、創建用戶和組

    groupadd www -g 48

    useradd -u 48 -g www www

    mkdir -p /opt/htdocs

    chmod +w /opt/htdocs

    chown www:www /opt/htdocs

    passwd www

    為www用戶設置一個密碼。

      二、客戶端:

      1、同步推送客戶端某個目錄中(例:/home/zhanguan/abc)的文件到服務器端的/opt/htdocs目錄:

    /usr/bin/rsync -vzrtopg --delete /home/zhanguan/abc/ -e ssh [email protected]:/opt/htdocs/

    輸入密碼,回車即可,無須服務器端啟動rsync服務

Copyright © Linux教程網 All Rights Reserved