概述
rsync是linux 下一个远程数据同步工具
他可通过LAN/WAN快速同步多台主机间的文件和目录,并适当利用rsync 算法减少数据的传输
会对比两个文件的不同部分,传输差异部分,因此传输速度相当快
rsync可拷贝、显示目录属性,以及拷贝文件,并选择性的压缩及递归拷贝
特性
快速
第一次传输全部,下一次传输差异
rsync在传输过程中可以实行压缩和解压缩,使用更少的带宽
安全
可以使用scp、ssh等方式传输
直接通过socket连接
支持匿名传输、方便进行网站镜像
同时具备 增量同步 备份迁移
数据的同步方式
数据备份:拉取(下载)
数据恢复:推送(上传)
如何实现
先安装rsync

1.本地
rsync -avz abc/ /opt

rsync -avz /abc /opt

2. 远程
进入
[root@localhost ~]# vim /etc/rsyncd.conf
写入

useradd rsync -s /sbin/nologin -M 创建用户
echo 'rsync_backup:123456' >/etc/rsync.passwd 创建认证用户密码
chmod 600 /etc/rsync.passwd 给予权限
mkdir /backup 创建模块文件
chown rsync.rsync /backup 更改属主 属组
最后重启
systemctl restart rsyncd 重启

客户端远程传输
输入rsync -avz /etc/hosts rsync_backup@192.168.13.12::backup上传
[root@localhost ~]# rsync -avz /etc/hosts rsync_backup@192.168.13.12::backup
sending incremental file list
hosts
sent 136 bytes received 35 bytes 342.00 bytes/sec
total size is 158 speedup is 0.92
下载rsync -avz root@192.168.2.7:/etc/hostname /root/

3. 通过密码文件实现免密传输
进入vim /etc/rsync.passwd 输入服务端设置的认证用户密码
chmod 600 /etc/rsync.passwd 给予权限
免密传输命令
rsync -avz /etc/hosts rsync_backup@192.168.2.62::backup --password-file /etc/rsync.passwd

4.rsync+inotfy实时同步
开发客户端
安装 gcc gcc- c++

配置 编译 安装
还要安装 httpd

配置内核参数
进入 vim /etc/sysctl.conf
写入fs.inotify.max_user_instances = 1024
fs.inotify.max_queued_events = 16384
fs.inotify.max_user_watches=1048576

Sysctl -p 查看 有没有写入完成
输入
[root@localhost ~]# inotifywait -mrq -e modify,create,move,delete /var/www/html
这是一个Linux命令,用于监视指定目录下文件的变化
- -m: 监视目录中的文件变化,而不是目录本身。 - -r: 递归监视子目录。 - -q: 安静模式,不输出监视到的事件。 - -e: 指定监视的事件类型,包括modify(文件内容修改)、create(文件创建)、move(文件移动)和delete(文件删除)。 - /var/www/html: 要监视的目录路径。
综合起来,这个命令会一直运行,监视/var/www/html目录及其子目录中的文件变化,当有文件被修改、创建、移动或删除时,会输出相应的事件信息。

感谢观看 下次再来
rsync是一个用于在Linux系统间进行高效数据同步的工具,它可以进行增量传输,减少带宽使用。通过配置rsyncd.conf,可以实现远程同步,并通过ssh等协议确保安全。rsync结合inotify可以实现实时文件变化监控和同步,提高效率。
604

被折叠的 条评论
为什么被折叠?



