daemon端参考rsync配置


客户端配置:
创建密码文件
[root@lnmp01 ~]# echo "199429" >/etc/rsync.password 
[root@lnmp01 ~]# chmod 600 /etc/rsync.password 
[root@lnmp01 ~]# cat /etc/rsync.password 
199429

安装inotify:
本地上传inotify-tools-3.14.tar.gz

[root@nfs-server ~]# mkdir -p /home/lufeng/tools
[root@nfs-server ~]# cd /home/lufeng/tools/

[root@nfs-server tools]# tar zxf inotify-tools-3.14.tar.gz 
[root@nfs-server tools]# cd inotify-tools-3.14
[root@nfs-server inotify-tools-3.14]# ./configure --prefix=/usr/local/inotify-tools-3.14
[root@nfs-server inotify-tools-3.14]# echo $?
0

主要文件:
[root@nfs-server inotify-tools-3.14]# ll /usr/local/inotify-tools/
总用量 16
drwxr-xr-x 2 root root 4096 3月  14 02:28 bin       ===》inotify执行命令(二进制)
drwxr-xr-x 3 root root 4096 3月  14 02:28 include    ====》inotify程序所需的头文件
drwxr-xr-x 2 root root 4096 3月  14 02:28 lib      ====》动态链接的库文件
drwxr-xr-x 4 root root 4096 3月  14 02:28 share    ===》帮助文件

参数文件:
[root@nfs-server inotify-tools-3.14]# cd /usr/local/inotify-tools/bin
[root@nfs-server inotify-tools]# /usr/local/inotify-tools/bin/inotifywait  --help              =====》自行查看

编译同步脚本
[root@nfs-server inotify-tools]# mkdir -p /server/scripts
[root@nfs-server inotify-tools]# cd /server/scripts/
[root@nfs-server scripts]# touch inotify.sh
[root@nfs-server scripts]# cat inotify.sh 
#!/bin/bash
inotify=/usr/local/inotify-tools/bin/inotifywait
$inotify -mrq --format '%w%f' -e create,close_write,delete /data \
|while read file
do
   cd / &&
   rsync -az ./data --delete [email protected]::nfs/ \
   --password-file=/etc/rsync.password
done

加入开机启动
[root@nfs-server data]# tail -2 /etc/rc.local     
###inotify backup
/bin/sh /server/scripts/inotify.sh  &


分析:

inotify优缺点:
优点:配合rsync实现实时同步
缺点:
1:并发大于200个文件(10-100k),同步会出现延迟
2:使用脚本每次都不全部推送一次,增量
3:相比于serync,innotify为单进程


附件:inotify-tools-3.14.tar.gz