安装配置 一、inotify-slave部署 (服务器A和B) IP:192.168.0.99 (1)检查是否安装rsync工具 rpm -aq rsync [root@lishilong]# rpm -aq rsync rsync-3.0.9-17.el7.x86_64
如果没有rsync服务,则需要安装rsync服务 2.安装rsync服务 命令安装 yum intsall rsync -y
( 2 ) 编辑文件 vi /etc/rsyncd.conf vim /etc/rsyncd.conf #工作中指定用户(可以不指定为0) uid = 0 gid = 0 ##相当于黑洞.出错定位 use chroot = no ##有多少个客户端同时传文件 max connections = 200 ##超时时间 timeout = 300 ##进程号文件 pid file = /var/run/rsyncd.pid ##日志文件 lock file = /var/run/rsync.lock ##日志文件 log file = /var/log/rsyncd.log ##模块开始 ##模块名称随便起(可以是多个) [fdc] ##需要同步的目录 path = /opt/nginx/html ##表示出现错误忽略错误 ignore errors ##表示网络权限可写(本地控制真正可写) read only = false ##这里设置IP或让不让同步 list = false ##指定允许的网段 hosts allow = 192.168.0.100 ##拒绝链接的地址,一下表示没有拒绝的链接。 hosts deny = 0.0.0.0/32 ##不要动的东西(默认情况) ##虚拟用户 auth users = rsynclsl ##虚拟用户的密码文件 secrets file = /etc/rsync.password 注意!粘贴代码之后!要注意(模块名称,同步目录,虚拟用户密码文件。) 注意!需要在服务器创建一个用户与 vim /etc/rsyncd.conf 虚拟用户名一致。
操作命令如下: useradd rsynclsl passwd rsynclsl
cd /home 或者 vim /etc/passwd 下看到你创建的用户 (3)配置虚拟用户的密码文件 [root@rsync-slave] # echo "rsynclsl:123456" >/etc/rsync.password [rppt@rsync-slave] # cat /etc/rsync.password rsynclsl:123456 # rsynclsl为虚拟用户 123456为虚拟用户密码。 [root@rsync-slave] # chmod 600 /etc/rsync.password #为密码提取,增加安全性。 (4)启动rsync 服务 [root@rsync-slave]# rsync --daemon #启动rsync服务 或者 systemctl start rsyncd 启动。 [root@rsync-slave]# ps -ef | grep rsync [root@rsync-slave]# netstat -lnutp | grep rsync 克隆出第二台虚拟机 因为我们克隆出的虚拟机主机名等设置都是一样,所以我们需要更改主机名和IP地址。 二、inotify-master配置 IP:192.168.0.100 修改主机名 重启虚拟机 修改IP地址 重启网卡并查看IP地址 这时的IP地址已经修改成功了 (1)查看当前系统是否支持inotify [root@rsync-master]# ll /proc/sys/fs/inotify 解释:/proc/sys/fs/inotify/max_queued_evnets 表示调用inotify_init时分配给inotify instance中可排队的event的数目的最大值,超出这个值的事件被丢弃,但会触发IN_Q_OVERFLOW事件。
/proc/sys/fs/inotify/max_user_instances 表示每一个real user ID可创建的inotify instatnces的数量上限。 /proc/sys/fs/inotify/max_user_watches 表示每个inotify instatnces可监控的最大目录数量。如果监控的文件数目巨大,需要根据情况,适当增加此值的大小。 例如: echo 30000000 > /proc/sys/fs/inotify/max_user_watches
(2)下载inotify源码包并编译安装 inotify是一种强大的、细粒度的、异步的文件系统事件控制机制。linux内核从2.6.13起,加入了inotify支持,通过inotify可以监控文件系统中添加、删除、修改、移动等各种事件,利用这个内核接口,第三方软件就可以监控文件系统下文件的各种变化情况,而inotify-tools正是实施监控的软件。
注意!下载inotify安装包可以选择我图上的github上下载,或者,选择官方下载。
Github
[root@inotify-master]# wget http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz [root@inotify-master]# tar zxf inotify-tools-3.14.tar.gz [root@inotify-master]# cd inotify-tools-3.14 [root@inotify-master inotify-tools-3.14]# ./configure --prefix=/usr/local/include/ [root@inotify-master inotify-tools-3.14]# make && make install
官网:地址 https://sourceforge.net/projects/inotify-tools/
(3)安装 rsync安装包可以 rpm 安装 或者 yum 安装。 命令如下: yum -y install rsync 即可。
(4)主节点 inotify_pay.sh 脚本 脚本如下: #!/bin/bash host_slave=192.168.0.99 #inotify-slave的ip地址 master_src=/opt/nginx/html/ #本地监控的目录 inotify_home=/usr/local/include/ #inotify的安装目录 ${inotify_home}/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e close_write,modify,delete,create,attrib $master_src \ | while read file do rsync -az --delete ${master_src} rsynclsl@${host_slave}::fdc --password-file=/etc/rsync.password done #注意!模块名称 fdc 要和vim /etc/rsyncd.conf 里面的一致 #注意!本地监控目录 要和vim /etc/rsyncd.conf 里面的一致 #注意!inotify的安装目录 要和vim /etc/rsyncd.conf 里面的一致 #注意!vim /etc/rsync.password 配置文件名称要一致 #注意!!!!检查 vim /etc/rsync.password 的权限,一定是600 (chmod 600 /etc/rsync.password)!!!
(5)后台执行脚本 [root@inotify-master] # chmod -R 777 inotify_pay.sh #给予最高权限或者给予相应权限! [root@inotify-master] # ./inotify_pay.sh (6)测试 注意!进入配置的监控目录/opt/nginx/html 下创建 文件。 rsync-master下: ip:192.168.0.100 我们进入监控目录下进行操作,看是否在另一台虚拟机上出现同样的操作信息。 我们在监控目录下创建文件夹 mez2 inotify-slave下: ip:192.168.0.99 我们来到监控的那个目录,看在服务器上建立的那个文件是否传递过来。
我们已经看到,我们在100那台主机上创建的文件夹已经成功传递过来了。 |
CentOS 7下用inotify-rsync实现同步备份
最新推荐文章于 2023-08-24 13:03:58 发布