小白练习篇之使用rsync+inotify实现/www目录实时同步

news/2024/8/26 8:51:12

实验环境:

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.pass

4.新建/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服务端上是否同步了

在这里插入图片描述


http://www.niftyadmin.cn/n/2199336.html

相关文章

LVS相关知识点

LVS专有名词定义 Director/VS:负责调度集群的主机;也简称调度器、分发器 DIP:与内部主机RIP通信的IP,在Director主机上 RS:Real Server(lvs),真正的服务器,集群中各节点 RIP:RealSe…

Linux 通俗易懂的LVS-DR原理以及实现方法

主机:四台,一台VS服务器,二台RS服务器,一台客户端服务器 网络配置: 调度器: dr 192.168.6.129 VIP:192.168.6.100(lo:1) 真实后端服务器 RIP:rs1 192.168.6.130 rs2:192.168.6.…

centos 7.6 实现LVS+Keepalived高可用性能

环境需求: 主机:四台, 两台LVSKeepalived的主备服务器 lvs1:192.168.6.129 lvs2:192.168.6.133 两台RS服务器 RS1:192.168.6.131 RS2:192.168.6.132 客户端:192.168.6.130 软件包:keepalived,ipvsadm&…

vue项目引用font-awesome字体打包路径报错

正常引入font-awesome字体,打包后字体引用路径报错。 字体文件放在static/fonts目录下,但是浏览器中显示的引用路径是: static/css/static/fonts/... 在项目build/utils.js文件中,找到 ExtractTextPlugin.extract({use: loaders,f…

最简单超详细的Liunx源码编译安装LNMP框架

环境部署: 主机:192.168.197.131 主机:192.168.197.132 (数据库服务器) 软件包: nginx-1.18.0.tar.gz mariadb-10.2.25-linux-x86_64.tar.gz php-7.3.12.tar.bz2 wordpress-5.0.3-zh_CN.tar.gz 1. Ngin…

基于Vue的任务节点图绘制插件节点可拖拽多连线样式(vue-task-node)可用于机器学习,UML,及事物流程的绘制...

#vue-task-node 在线Demo 1.0.x 版本 https://codesandbox.io/s/9413yop49r1.1.x 版本 https://codesandbox.io/s/2wv588orlrvue-task-node 是一个基于Vue的任务节点图绘制插件(vue-task-node is a Vue based task node mapping plug-in)此文章是续之前1…

Linux进阶篇-HAproxy的编译安装

Haproxy的介绍 HAProxy是法国开发者Willy Tarreau开发的一个开源软件,是一款具备高并发、高性能的TCP和HTTP负载均衡器,支持基于cookie的持久性,自动故障切换,支持正则表达式及web状态统计。 Haproxy的功能 HAProxy是TCP/HTTP反…

程序员的几个搞笑瞬间!!!

1、准备下班的时候,测试又提bug过来了… 2、当我以为这是最后一个Bug,改完就可以去吃饭时… 3、精简代码,臃肿代码4、三个月后回看自己写的代码5、什么,需求又改了? “我自己是一名从事了5年前端的老程序员&#xff0c…