1. <var id="fe6gj"></var>

    <rp id="fe6gj"><nav id="fe6gj"></nav></rp>

    <noframes id="fe6gj"><cite id="fe6gj"></cite>

    <ins id="fe6gj"><button id="fe6gj"><p id="fe6gj"></p></button></ins>
    1. <tt id="fe6gj"><i id="fe6gj"><sub id="fe6gj"></sub></i></tt>
        始創于2000年 股票代碼:831685
        咨詢熱線:0371-60135900 注冊有禮 登錄
        • 掛牌上市企業
        • 60秒人工響應
        • 99.99%連通率
        • 7*24h人工
        • 故障100倍補償
        您的位置: 網站首頁 > 幫助中心>文章內容

        配置rsync + inotify 實現數據實時同步

        發布時間:  2012/9/15 18:10:47

        要求:兩臺Web服務器實現數據同步(我這里使用的是Centos 6.2-x64)

        服務器一:172.16.11.126

        服務器二:172.16.11.127

        一、配置ssh備份源172.16.11.126(這里推薦使用專用的普通用戶,注意相應的權限問題,如遇特殊情況使用root用戶也可以,即不用考慮權限問題了。

        1、新建備份用戶rget rput 分別用來上傳下載

           [root@localhost ~]#  useradd rget

           [root@localhost ~]#  useradd rput

           [root@localhost ~]#  passwd rget

           [root@localhost ~]#  passwd rput

        2、確認sshd服務正常啟動,且允許用戶rget rput訪問

           [root@localhost ~]#   vim /etc/ssh/sshd_config

            

        1.  .......... 

        2.      

        3.  UserDNS no 

        4.      

        5.  AllowUsers rget rput 

        6.   

           [root@localhost ~]# service sshd restart

           [root@localhost ~]# chown -R rput:rput/var/www/html

           [root@localhost ~]# setfacl -R -m user:daemon:rwx /var/www/html /upload

           [root@localhost ~]# getgacl /var/www/html/upload

           [root@localhost ~]# setfacl -m default:user:daemon:rwx /var/www/html/upload/

           [root@localhost ~]# getfacl /var/www/html/upload | grep default

        二、配置rsync源服務器。

           [root@localhost ~]# yum install rsync

           [root@localhost ~]# /etc/init.d/httpd restart

           [root@localhost ~]# cd /var/www/html/

           [root@localhost html]# /etc/init.d/sshd restart

           [root@localhost html]# vim /etc/rsyncd.conf

        1.    uid = nobody 

        2.    gid = nobody 

        3.    use chroot = yes                 //禁錮在源目錄 

        4.    address = 172.16.11.126          //監聽地址 

        5.    port 873                         //監聽端口 

        6.    log file = /var/log/rsyncd.log   //日志文件位置 

        7.    pid file = /var/run/rsyncd.pid   //存放進程ID的文件位置 

        8.    hosts allow = 172.16.11.0/24     //允許訪問的客戶機地址 

        9.    [wwwroot]                        //共享模塊名稱 

        10.         path = /var/www/html     //源目錄的世紀路徑 

        11.         comment = Document Root of www1.dong.com 

        12.         read only = yes          //只讀 

        13.         dont compress = *.gz *.bz2 *.tgz *.zip *.rar *.z  //同步時不再壓縮的文件類型 

        14.         auth users = backuper    //授權賬戶 

        15.         secrets file = /etc/rsyncd_users.db               //存放賬戶信息的數據文件 

         

        [root@localhost html]# vim /etc/rsyncd_users.db

        1.    backuper:pwd123 

        [root@localhost html]# chmod 600 /etc/rsyncd_users.db

        [root@localhost html]# rsync –daemon          //啟動rsync服務

        [root@localhost html]# netstat -anpt | grep rsync

        tcp        0      0 192.168.1.1:873             0.0.0.0:*                   LISTEN      5458/rsync

        # 如需關閉rsync服務時  kill $(cat /var/run/rsyncd.pid) 

        [root@localhost html]# vim /etc/xinetd.d/rsync

        1.    # default: off 

        2.    # description: The rsync server is a good addition to an ftp server, a 

        3.    s it \ 

        4.    #       allows crc checksumming etc. 

        5.    service rsync 

        6.   

        7.            disable = no                      //將原有的yes改為no    

        8.            socket_type     = stream 

        9.            wait            = no 

        10.         user            = root 

        11.         server          = /usr/bin/rsync 

        12.         server_args     = --daemon       //確認有—daemon服務選項 

        13.         log_on_failure  += USERID 

        14.

        [root@localhost html]# yum -y install xinetd

        [root@localhost html]# /etc/init.d/xinetd start

        三、使用rsync備份工具 

        SSH備份源

        [root@localhost ~]# rsync -avz rget@172.16.11.126:/var/www/html/ /opt/

        rsync備份源

        [root@localhost ~]# rsync -avz backuper@172.16.11.126::wwwroot /root

           或者

        [root@localhost ~]# rsync -azv rsync://backuper@172.16.11.126/wwwroot /root

        四、配置rsync + inotify實時同步

        1、調整inotify內核參數 

        [root@localhost ~]# cat /proc/sys/fs/inotify/max_queued_events

        16384

        [root@localhost ~]# cat /proc/sys/fs/inotify/max_user_instances

        1024

        [root@localhost ~]# cat /proc/sys/fs/inotify/max_user_watches

        1048576

        [root@localhost ~]# vim /etc/sysctl.conf

        1.    kernel.shmall = 268435456 

        2.    fs.inotify.max_queued_events = 16384 

        3.    fs.inotify.max_user_instances =1024 

        4.    fs.inotify.max_user_watches = 1048576 

        [root@localhost ~]# sysctl -p

        2、安裝inofity-tools工具 (這里我已經下載好了inotify-tools-3.14.tar.gz

        [root@localhost ~]# tar -zxvf inotify-tools-3.14.tar.gz

        [root@localhost ~]# cd inotify-tools-3.14

        [root@localhost inotify-tools-3.14]#  ./configure

        [root@localhost inotify-tools-3.14]#  make

        [root@localhost inotify-tools-3.14]# make install

        [root@localhost inotify-tools-3.14]# inotifywait -mrq -e modify,create,attrib,move,delete /var/www/html/ & 

        3、編寫觸發式同步腳本

        [root@localhost inotify-tools-3.14]# vim /opt/inotifity_rsync.sh

        1.    #!/bin/bash 

        2.    INOTIFY_CMD="/usr/local/bin/inotifywait -mrq -e modify,create,attrib,move,delete /var/www/html/" 

        3.    RSYNC_CMD="/usr/bin/rsync -azH --delete /var/www/html/ /nfs/" 

        4.    $INOTIFY_CMD | while read DIRECTORY EVENT FILE 

        5.    do 

        6.            if [ $(pgrep rsync | wc -l) -le 0 ]; then 

        7.                    $RSYNC_CMD 

        8.            fi 

        9.    done  

         

        [root@localhost inotify-tools-3.14]# chmod +x /opt/inotifity_rsync.sh

        [root@localhost inotify-tools-3.14]# echo '/opt/inotifity_rsync.sh' >> /etc/rc.local 

        注意這是在備份源上面的操作

        [root@localhost ~]# vim /etc/exports   172.16.11.126

        1.    /var/www/html   *(rw,no_root_squash)  

        [root@localhost ~]# service  nfs  restart

         把共享的目錄掛在到本地

        [root@localhost ~]# mount 172.16.11.126:/var/www/html/ /nfs/

        備份源與發起端生成密鑰對 (連接時不需要進入交互式)

        [root@localhost ~]# ssh-keygen -t rsa

        [root@localhost ~]# ssh-copy-id -i .ssh/id_rsa.pub 172.16.11.127


        本文出自:億恩科技【www.endtimedelusion.com】

        服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

      1. 您可能在找
      2. 億恩北京公司:
      3. 經營性ICP/ISP證:京B2-20150015
      4. 億恩鄭州公司:
      5. 經營性ICP/ISP/IDC證:豫B1.B2-20060070
      6. 億恩南昌公司:
      7. 經營性ICP/ISP證:贛B2-20080012
      8. 服務器/云主機 24小時售后服務電話:0371-60135900
      9. 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
      10. 專注服務器托管17年
        掃掃關注-微信公眾號
        0371-60135900
        Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
          0
         
         
         
         

        0371-60135900
        7*24小時客服服務熱線

         
         
        av不卡不卡在线观看_最近2018年中文字幕_亚洲欧美一区二区三区_一级A爱做片免费观看国产_日韩在线中文天天更新_伊人中文无码在线