rsync + lnotify 实现数据的实时同步更新

1.检查rsync是否安装
rpm -q rsync
2.定义配置文件/etc/rsyncd.conf
 
  
  
  
  
  1. uid=sunliyan 
  2. gid=sunliyan 
  3. user chroot=no 
  4. max connections=200 
  5. timeout=600 
  6. pid file=/var/run/rsyncd.pid 
  7. lock file=/var/run/rsyncd.lock 
  8. log file=/var/log/rsyncd.log 
  9. [backup] 
  10. path=/backup/ 
  11. ignore errors 
  12. read only=no 
  13. list=no 
  14. hosts allow=192.168.10.0/255.255.255.0 
  15. auth users=sunliyan 
  16. secrets file=/etc/rsyncd.password 
3.启动服务端rsync服务
vim /etc/xinetd.d/rsync
 
  
  
  
  
  1. service rsync 
  2.     disable = no 
  3.     flags           = IPv6 
  4.     socket_type     = stream 
  5.     wait            = no 
  6.     user            = root 
  7.     server          = /usr/bin/rsync 
  8.     server_args     = --daemon 
  9.     log_on_failure  += USERID 
service xinetd restart
4.创建相关目录
mkdir /backup
chmod -R 777 /backup
echo "sunliyan:password" > /etc/rsyncd.password
chmod  600 /etc/rsyncd.password
5.客户端配置如下
echo "password" > /etc/rsyncd.password
chmod  600 /etc/rsyncd.password
6.客户端安装lnotify软件
cd /usr/local/src
tar zxfv inotify-tools-3.14.tar.gz
cd inotify-tools-3.14
./configure && make && make install
7.编写监控脚本
 
  
  
  
  
  1. #!/bin/bash 
  2. src=/backup/ 
  3. des=backup 
  4. ip=192.168.10.1 
  5. /usr/local/bin/inotifywait -mrq --timefmt '% d/% m/% y % H:% M' --format '% T % w% f' -e modify,delete,create,attrib $src | while read file 
  6.     do 
  7.        rsync -vzrtopg --delete --progress $src sunliyan@$ip::$des --password-file=/etc/rsyncd.password && 
  8.        echo "$src was  rsynced" 
  9.     done 
8.将脚本放入后台
nohup sh/root/rsync.sh &

你可能感兴趣的:(rsync,inotify,数据同步)