rsync和inotify实现文件的实时同步

rsync和inotify实现文件的实时同步

linux运维管理实际操作中,文件的备份,对每个系统管理者与电脑使用者来说都很重要,常见的方式,将文件传送至另一台电脑做备份,或者另存在动存储备份之外操作系统,实际应用中,为了数据文件的安全性,需要实时备份服务器上的文件数据.
 
 
目的是将192.168.4.8上 /home 目录的数据同步到192.168.7.45的/home/123目录。
 
主服务器配置 (192.168.4.8 上安装rsync和inotify)
安装rsync (rsync在主服务器上不需要配置文件,因为主服务器的数据是被推到备份服务器的。)
# wget https://rsync.samba.org/ftp/rsync/rsync-3.0.9.tar.gz
# tar zxvf rsync-3.0.9.tar.gz
# cd rsync
# ./configure –prefix=/usr/local/rsync
# make && make install
 
建立密码认证文件
# echo “tian” > /usr/local/rsync/rsync.pass
# chmod 600  /usr/local/rsync/rsync.pass
 
Inotify 是文件系统事件监控机制,是一种强大的、细粒度的、异步的机制,它满足各种各样的文件监控需要,不仅限于安全和性能。
 
安装inotify
# wget http://cloud.github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz
# tar zxvf inotify-tools-3.14.tar.gz
# cd inotify-tools-3.14
# ./configure –prefix=/usr/local/inotify
# make && make install
 
创建启动脚本
# vim /usr/local/inotify/rsync.sh
#!/bin/bash
src=/home/
/usr/local/bin/inotifywait -mrq --format '%w%f' -e modify,delete,create,attrib $src | while read x
        do
                rsync -vzrtopg --delete –progress --password-file=/usr/local/rsync/rsync.pass $src $des &&
                echo "$x was rsynced" >>/usr/local/rsync/rsync.log
        done
 
/usr/local/inotify/rsync.sh &
 
备份服务器的配置(192.168.7.45)
安装rsync
# wget https://rsync.samba.org/ftp/rsync/rsync-3.0.9.tar.gz
# tar zxvf rsync-3.0.9.tar.gz
# cd rsync
# ./configure –prefix=/usr/local/rsync
# make && make install
 
建立密码文件
# echo “tian:tian123” > /usr/local/rsync/rsync.pass
# chmod 600  /usr/local/rsync/rsync.pass
 
建立配置文件
# vim /usr/local/rsync/rsync.conf
#[globale]
strict modes= yes
port= 873
logfile= /var/log/rsyncd.log
pidfile= /var/run/rsyncd.pid
lock file= /var/run/rsync.lock
max connections= 4
secrets file= /usr/local/rsync/rsync.pass
#[modules]
[mail]
uid= root
gid= root
path= /home/123
read only= no
list= yes
host allow= *
auth users= tian
 
启动rsync
# /usr/local/rsync/bin/rsync --daemon --config=/usr/local/rsync/rsync.conf
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章