实验环境:
rsync服务器是192.168.6.129,客户机上192.168.6.130
1.在192.168.6.129服务器上安装inotify-tools
[root@Centos7 /]# yum install inotify-tools -y备注:inotify是内核的一个功能,我们要使用内核的功能,必须要在用户空间安装对应的工具才可以对内核功能发起调用操作
2.系统已经默认安装了rsync,接下里只需配置即可 3.配置rsync服务,让其工作为守护进程模式
[root@Centos7 /]# vim /etc/rsyncd.conf 添加以下内容: uid = root gid = root use chroot = no max connections = 0 ignore errors exclude = lost+found/ log file = /var/log/rsyncd.log pid file = /var/run/rsyncd.pid lock file = /var/run/rsyncd.lock reverse lookup = no host allow = 192.168.6.0/24 [backup] path = /backup/ comment = share backup read only = no auth users = jerry secrets file = /etc/rsync.pass4.新建/backup目录和/etc/rsync.pass文件,并且配置一个用户和密码用于rsync同步
[root@Centos7 /]# vim /etc/rsyncd.conf [root@Centos7 /]# mkdir /backup [root@Centos7 /]# ll /backup total 0 [root@Centos7 /]# echo "jerry:admin" > /etc/rsync.pass [root@Centos7 /]# cat /etc/rsync.pass jerry:admin [root@Centos7 /]# chmod 600 /etc/rsync.pass备注:rsync.pass文件用于存放rsync同步数据时用到的用户和密码,这个文件的格式是用户名:密码,这些都是明文的,为了其内容的安全,通常我们把其权限设置为非root用户不可读写的权限
5.启动rsync服务
[root@Centos7 /]# rsync --daemon [root@Centos7 /]# ss -ntl 默认工作在tcp 的873端口6.在客户机(192.168.6.130)上安装inotify-tools,并创建用于rsync服务器上的用户对应的密码文件和创建/www目录
[root@Centos7 ~]# yum install -y inotify-tools [root@Centos7 ~]# echo "admin" > /etc/rsync.pass [root@Centos7 ~]# chmod 600 /etc/rsync.pass [root@Centos7 ~]# cat /etc/rsync.pass admin [root@Centos7 ~]# ll /etc/rsync.pass -rw------- 1 root root 6 Oct 20 17:57 /etc/rsync.pass [root@Centos7 ~]# mkdir /www [root@Centos7 ~]# ll /www/ total 0 [root@Centos7 ~]#7.在客户端(192.168.6.130)上编写脚本,实现实时监控/www目录下的资源,如有变动,立刻同步至rsync服务器对应的目录下 8.测试
服务端192.168.6.129 backup 目录为空
客户端192.168.6.130 /www目录为空
运行192.168.6.130客户端上的脚本
[root@Centos7 ~]# bash inotify_rsync.sh在192.168.6.130客户端上创建test.txt文件
查看192.168.6.129服务端上是否同步了