rsync和inotify

目录

前言

一、rsync服务器

1、rsync介绍

2、全量备份

3、增量备份

4、rsync命令

5、同步特点

6、rsync本地复制

7、配置源rsync的两种表示方法

8、免交互格式

 二、实验远程复制

三、rsync实时同步

四、inotify

1、简介

2、调整inotify内核参数(优化)

3、inotifywait :持续监控并实时输出监控结果的命令

五、rsync+inotify

1、环境

2、配置rsync源服务器A

2.1  将只读模式关闭

2.2  调整 inotify 内核参数

2.3  修改rsync配置文件

2.4  重新启动rsync服务

3、客户机服务器B配置

3.1  解压缩inotify并安装

3.2  测试inotifywait监控命令是否正常使用

3.3  开启一个新的终端设备

3.4  客户端上编写脚本

3.5  在客户端创建文件并测试

总结


前言

rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。

一、rsync服务器

1、rsync介绍

Rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具。并且可以不进行改变原有数据的属性信息,实现数据的备份迁移特性。Rsync软件适用于unix/linux/windows等多种操作系统平台。
Rsync是一个快速和非常通用的文件复制工具。它能本地复制,远程复制,或者远程守护进程方式复制。它提供了大量的参数来控制其行为的各个方面,并且允许非常灵活的方式来实现文件的传输复制。它以其delta-transfer算法闻名。
rsync监听端口:873
rsync运行模式:C/S

2、全量备份

所有数据全部传送

把原来的文件和新的文件一起统一传送

全量复制,效率低

3、增量备份

在传输数据之前通过一些算法通过你有的数据和我有的数据进行对比,把不一样的数据通过网络传输

增量复制,效率较高

4、rsync命令

格式:rsync  选项  原始位置  目标位置

命令参数
-a #归档模式传输, 等于-tropgDl
-v #详细模式输出, 打印速率, 文件数量等
-z #传输时进行压缩以提高效率
-r #递归传输目录及子目录,即目录下得所有目录都同样传输。
-t #保持文件时间信息
-o #保持文件属主信息
-p #保持文件权限
-g #保持文件属组信息
-l #保留软连接
-P #显示同步的过程及传输时的进度等信息
-D #保持设备文件信息
-L #保留软连接指向的目标文件
-e #使用的信道协议,指定替代 rsh 的 shell 程序
--exclude=PATTERN #指定排除不需要传输的文件模式
--exclude-from=file #文件名所在的目录文件
--bwlimit=100 #限速传输
--partial #断点续传
--delete #让目标目录和源目录数据保持一致

5、同步特点

1、可以镜像保存整个目录树和文件系统。
2、可以很容易做到保持原来文件的权限、时间、软硬链接等等,无须特殊权限即可安装。
3、快速:第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件。rsync 在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽。
4、安全:可以使用scp、ssh等方式来传输文件,当然也可以通过直接的socket连接。
5、支持匿名传输,以方便进行网站镜像。

6、rsync本地复制

rsync -avz /abc      /opt   复制目录和文件
rsync  -avz /abc/    /opt   只复制文件不会复制目录

7、配置源rsync的两种表示方法

格式一:
用户名@主机地址::共享模块名
rsync -avz backuper@192.168.112.120::wwwroot  /root


格式二:
rsync://用户名@主机地址/共享模块名
rsync -avz rsync://backuper@192.168.112.120/wwwroot  /root

8、免交互格式

echo "密码" > /etc/密码文件
chmod 600 /etc/密码文件

#设置周期性任务
crontab -e
30 22 * * * /usr/bin/rsync -az --delete --password-file=/etc/密码文件 backuper@192.168.109.12::wwwroot /opt

systemctl restart crond
systemctl enable crond

 二、实验远程复制

  • 服务器准备
主机		  IP地址	 
rsync		192.168.112.110	 rsyn源服务器
client		192.168.112.100     rsync客户端服务器
  • 配置rsync源服务器
rpm -q rsync
yum -y install rsync
  • 修改/etc/rsyncd.conf配置文件
vim /etc/rsyncd.conf
uid = nobody					#用户id(权限低于root权限)
gid = nobody					#组id(权限低于root权限)
use chroot = yes				#禁锢在源目录(禁锢的对象:使用用户的权限和身份。禁锢的目标:源目录)                                                
address = 192.168.80.1	     	#监听地址
port 873                     	#监听端口 tcp/udp 873,可通过 cat /etc/services | grep rsync 查看                                           
log file = /var/log/rsyncd.log	#日志文件位置                  
pid file = /var/run/rsyncd.pid	#存放进程ID的文件位置                  
hosts allow = 192.168.80.0/24	#允许访问的客户机地址
###############以上是全局配置,以下是模块配######################
[wwwroot]   					##第一个共享模块名                                                           
path = /var/www/html     		#源目录的实际路径                               
comment = Document Root of www.ljm.com	
read only = yes             	#是否为只读                                     
dont comperss = *.gz *.bz2 *.tgz *
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值