使用rsync+inotifywait 实现NFS自动同步功能
NFS共享服务
1.安装nfs服务器:
yum install nfs-utils -y
2.配置nfs服务器:
cat /etc/exports
/home/work 192.168.0.*(rw,sync,all_squash) 一般这配置就可以
rw:read-write,可读写; 注意,仅仅这里设置成读写客户端还是不能正常写入,还要正确地设置共享目录的权限,参考问题7 ro:read-only,只读; sync:文件同时写入硬盘和内存; async:文件暂存于内存,而不是直接写入内存; no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。 root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份; all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限; anonuid:匿名用户的UID值,通常是nobody或nfsnobody,可以在此处自行设定; anongid:匿名用户的GID值。
rsync同步工具的常用选项:
-n:测试同步过程,不做实际修改 --delete:删除目标文件夹内多余的文档 -a:归档模式,相当于-rlptgoD -v:显示详细操作信息 -z:传输过程中启用压缩/解压
inotifywait监控操作:
inotifywait [选项] 目标文件夹
inotifywait常用命令选项:
-m,持续监控(捕获一个事件后不退出) -r,递归监控、包括子目录及文件 -q,减少屏幕输出信息 -e,指定监视的 modify、move、create、delete、attrib 等事件类别
安装inotifywait软件包
下载软件包 wget http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz
解压 tar xf inotify-tools-3.13.tar.gz -C /usr/src/
配置 cd /usr/src/inotify-tools-3.13/
./configure
make && make install
在需要同步的机器添加免秘钥登录
ssh-keygen
同步公钥 ssh-copy-id 192.168.0.26
配置同步脚本 vim /root/inotify.sh
#!/bin/bash
FROM_DIR="/http/"
RSYNC_CMD=“rsync -az --delete $FROM_DIR root@192.168.0.26:/http”
while inotifywait -rqq -e modify,move,create,delete,attrib $FROM_DIR
do
$R
4000
SYNC_CMD
sleep 10
done &
给脚本添加权限chmod +x /root/inotify.sh
当主NFS服务器下的/http/文件夹发生改变,被NFS文件夹会自动同步数据
- rsync+inotify+firewall+lamp实现自动同步等相关功能 推荐
- [转]CENTOS 使用RSYNC+INOTIFY实现文件实时自动同步
- Centos下用inotify+rsync实现自动同步功能
- Rsync+inotify 实现文件自动同步
- 验证过:rsync+inotify实现实时同步+ service+inotifywait --exclude
- rsync+inotify 实现文件夹的自动同步备份
- ssh-keygen+rsync+inotifywait实现数据实时动态同步
- linux系统中通过rsync+inotify实现网页自动同步
- CentOS6.8使用Rsync+Inotify-tools实现数据实时同步
- rsync+inotify实现数据自动同步
- linux使用rsync+inotify-tools+ssh实现文件实时同步
- rsync+inotifywait实现数据实时同步(下篇:编写脚本)
- rsync+inotify实现对web服务器上的文件自动同步
- 两台服务器间使用rsync和inotify-tools实现文件同步
- rsync+inotify实现NFS实时同步数据以及压力测试
- ssh-keygen+rsync+inotifywait实现数据实时动态同步
- rsync+inotifywait实现数据实时同步(上篇:分析inotifywait产生的事件)
- rsync inotifywait 自动同步
- 使用rsync+inotify-tools+ssh实现文件实时同步
- CentOS6.5使用Rsync+Inotify-tools实现数据实时同步