inotify+rsync自動化時同期-インストール版


inotify+rsync自動化時同期-インストール版
  • 目的
  • 試験機情報
  • インストール構成
  • 4.1. 同期機構成
  • 4.2. 被同期機構成
  • テスト
  •  

    2.目的


    192.168.75.233の/data/http/example/rsyncディレクトリのほか、他のディレクトリとファイルを192.168.75.234の/data/http/example/下に同期

    3.試験機情報


    同期機:192.168.75.233被同期機:192.168.75.234

    4.インストール構成


    4.1. シンクロナイザ構成


    inotify-tools-3.14をダウンロードします.tar.gz
    インストール
    
    tar -zxvf inotify-tools-3.14.tar.gz -C /usr/local/src
    cd inotify-tools-3.14
    ./configure
    make && make install
    

    同期スクリプトの構成
    
    cat >/root/server_scripts/inotify_sync.sh<<'EOF'
    #!/bin/bash
    src=/data/httpd/example/
    des=example
    host="192.168.75.234"
    /usr/local/bin/inotifywait -mrq --exclude=/data/httpd/example/rsync --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e modify,delete,create,attrib $src | while read files
    do
         for hostip in $host
         do
            rsync -vzrtopg --delete --progress --password-file=/etc/rsyncd.secrets --exclude=/data/httpd/example/rsync $src root@$hostip::$des
         done
         echo "${files} was rsynced" >>/tmp/rsync.log 2>&1
    done
    EOF
    

    rsync同期keyファイルの生成
    
    echo "111111" >> /etc/rsyncd.secrets
    chmod 0600 /etc/rsyncd.secrets
    

    4.2. シンクロナイザ構成


    rsyncサービスのインストール
    
    yum install rsync.x86_64
    

    rsync同期keyファイルを生成します.秘密は、同じパスワードと同じで、権限が0600である必要があります.
    
    echo "root:111111" >> /etc/rsyncd.secrets
    chmod 0600 /etc/rsyncd.secrets
    

    rsyncサービスの構成
    
    cat >/etc/rsyncd.conf<<"EOF"
    uid = root
    gid = root
    use chroot = no
    max connections = 100
    pid file = /var/run/rsyncd.pid
    lock file = /var/run/rsync.lock
    log file = /var/log/rsyncd.log
    
    [example]
    path=/data/httpd/example/
    comment = update
    ignore errors
    read only = no
    list = no
    hosts allow = 192.168.75.0/255.255.255.0
    auth users = root
    uid = root
    gid = root
    secrets file = /etc/rsyncd.secrets
    EOF
    

    サービスの開始
    
    rsync --daemon						// rsync , 873 , , ,873 
    nohup /bin/bash /root/server_scripts/inotify_sync.sh &	// 
    

    5.テスト


    5.1同期機192.168.75.233の/data/http/example/ディレクトリの下でテストファイル、ディレクトリ、またはファイル権限の変更を作成し、同期機に変更があるかどうかを確認する
    5.2同期機192.168.75.233の/data/http/example/rsyncディレクトリの下でテストファイル、ディレクトリ、またはファイル権限の変更を作成し、同期機に変更があるかどうかを確認する
    これで構成完了
    last modify 2011-11-23 18:52:32 Wednesday