rsync远程同步

rsync远程同步

上行:客户端同步到服务器

下行:服务端同步到客户端

类似scp

开源的快速备份的工具,一般是系统自带的

可以再不同主机之间同步整个目录树(目录)

在远程同步的任务中,负责发起rsync的发起端,也就是服务端,负责响应的同步请求的,就是客户端。

rsync的特点

1、支持拷贝文件,链接文件等等

2、可以同步整个目录

3、可以支持保留源文件或者目录的权限等等

4、可以实现增量同步

同步方式

1、完整备份

2、增量备份

常用的一些选项

1、-a:归档模式,保留权限

2、-v:可以显示同步的详细过程

3、-z:压缩,在传输的过程中对文件进行压缩。

4、-H:同步硬链接

5、-delete:同步删除文件

6、-l:同步连接文件

7、-r:递归,所有。

实验

etc/rsyncd

修改配置文件

在这里插入图片描述

创建一个模块用于连接

在这里插入图片描述

  uid = root
  gid = root
  use chroot = yes
  address = 20.0.0.16
  #监听地址
  port = 873
# max connections = 4
  pid file = /var/run/rsyncd.pid
  log file = /var/log.rsyncd.log
  hosts allow = 20.0.0.0/24
#允许访问的客户端IP地址
  dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2

[test]
path = /opt/test
read only = no
auth users = backuper
secrets file = /etc/rsyncd_users.db

创建密码文件 添加用户和密码

vim /etc/rsyncd_users.db

在这里插入图片描述

对密码文件赋权600 只能是600 不然报错

创建用户模块

在这里插入图片描述

查看端口 没启动就重启服务 在查看端口即可

在这里插入图片描述

在服务端创建文件

在这里插入图片描述

客户端 即可传输文件

rsync -avz backuper@20.0.0.16::test /opt

在这里插入图片描述

在这里插入图片描述

客户端做免密登录

将密码文件写在前面

先创建密码文件并赋权

echo "123456" > /etc/server.pass
chmod 600 /etc/server.pass 
rsync -avz --password-file=/etc/server.pass backuper@20.0.0.16::test /opt

在这里插入图片描述

在这里插入图片描述

保证同步 可可在客户端通过定时任务指向

30 2 * * * /usr/bin/rsync -az --password-file=/etc/server.pass backuper@20.0.0.16::test /opt

在这里插入图片描述

在这里插入图片描述

客户端同步到服务端

安装inotify-tools

inotify实现监控

inotify watch:监控文件系统的变化

inotify wait:监控修改 创建、移动、删除、属性修改(权限修改、所有者、所在组)

先解压

yum -y install make

进到目录

在这里插入图片描述

给予四核

make -j 4 install

创建目录

客户端双开

在这里插入图片描述

分身

inotifywait -mrq -e modify,create,move,delete,attrib /opt/xy102
这条命令会持续监控 /opt/xy102 目录及其子目录中所有文件和目录的修改、创建、移动、删除和属性变化事件。

m:持续监控

r:递归整个目录 只要有变化

q:简化输出的信息

e:指定监控的时间

sttrib:属性修改

在这里插入图片描述

在这里插入图片描述

下行同步

在客户端写一个脚本

–delete全同步(两边的内容完全一致)

保证两个目录有相同的文件不相同的都删除掉

在这里插入图片描述

vim inotify.sh
#!/bin/bash
inotify_cmd="inotifywait -mrq -e modify,create,move,delete,attrib /opt/xy102"
rsync_cmd="rsync -avH --delete --password-file=/etc/server.pass /opt/xy102 backuper@20.0.0.16::test/"
                                                               #前面的是源工作目录               #这是目标的工作目录
$inotify_cmd | while read DIRECTORY EVENT FILE
do
 if [ $(pgrep rsync | wc -l) -le 0 ]
 then
   $rsync_cmd
 fi
done

赋权 执行

在这里插入图片描述

下行同步

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值