【分布式技术】rsync远程同步服务

本文详细介绍了rsync的远程文件同步实操,包括服务端配置、rsyncd的设置、rsync与scp区别、ssh配合rsync的传输方法、定时同步用crontab和实时同步inotifywait的应用,以及批量删除文件的不同方法。
摘要由CSDN通过智能技术生成

目录

一、rsync(远程同步)

二、实操rsync远程文件同步

准备一个服务端192.168.20.18以及一个客户端192.168.20.30

1、服务端搭建:先完成服务端配置,启动服务

 rsync拓展

1、关于rsyncd服务的端口号

2、rsync和scp的区别

2、测试

第一种:客户端下行从服务端拉取数据,进行同步

第二种:客户端主动给服务端推送文件和目录(图片只是示意,还不是实时同步)

 3、通过ssh和rsync结合的方式,实现远程文件传输,也可以实现增量传输数据

第一种:通过ssh免密+rsync的方式实现传输

第二种:通过sshpass+rsync的方式实现免密传输

4、小结

三、定时同步crontab + rsync

四、实时同步inotifywait + rsync 

1.修改rsync源服务器配置文件

 2.调整 inotify 内核参数(根据具体生产情况分析)

3.安装 inotify-tools

4.在另外一个终端编写触发式同步脚本(注意,脚本名不可包含 rsync 字符串,否则脚本可能不生效) 

五、几种批量删除文件的区别(20万个文件测试)

第一种:rm -rf 这种如果针对大文件,可能不生效

第二种:find 指定目录 -exec rm {} \;

第三种:find 指定目录 -delete

第四种:使用rsync


一、rsync(远程同步)

rsync(Remote Sync,远程同步) 是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份并保持链接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份、镜像服务器等应用。

在远程同步任务中,负责发起rsync同步操作的客户机称为发起端,而负责响应来自客户机的rsync同步操作的服务器称为同步源。在同步过程中,同步源负责提供文件的原始位置,发起端应对该位置具有读取权限。

二、实操rsync远程文件同步

准备一个服务端192.168.20.18以及一个客户端192.168.20.30

1、服务端搭建:先完成服务端配置,启动服务

systemctl stop firewalld
setenforce 0
--------------------配置rsync源服务器---------------------------
rpm -q rsync							#一般系统已默认安装rsync

#建立/etc/rsyncd.conf 配置文件
vim /etc/rsyncd.conf				#添加以下配置项
uid = root
gid = root
use chroot = yes									#禁锢在源目录
address = 192.168.20.18							#监听地址
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.20.0/24							#允许访问的客户机地址
dont compress = *.gz *.bz2 *.tgz *.zip *.rar *.z				#同步时不再压缩的文件类型

[wwwroot]											#共享模块名称
path = /data								#源目录的实际路径
comment = Document Root 
read only = yes										#是否为只读
auth users = lisi zhangsan								#授权账户,多个账号以空格分隔
secrets file = /etc/rsync_users.db						#存放账户信息的数据文件

#如采用匿名的方式,只要将其中的“auth users”和“secrets file”配置项去掉即可。
#为备份账户创建数据文件
vim /etc/rsync_users.db
lisi:123123
zhangsan:123123				#无须建立同名系统用户

chmod 600 /etc/rsync_users.db

#保证所有用户对源目录/var/www/html 都有读取权限
chmod +r /data
ls -ld /data

#启动 rsync 服务程序
rsync --daemon				#启动 rsync 服务,以独立监听服务的方式(守护进程)运行 

netstat -anpt | grep rsync

 rsync拓展

1、关于rsyncd服务的端口号

udp和tcp的873端口

udp负责文件传输 tcp负责建立连接

2、rsync和scp的区别

两者都可以实现远程传输文件和目录

rsync:远程文件同步,可以实现跨主机增量同步文件数据,同时还能对传输的文件进行压缩,并且支持软连接硬连接文件传输

scp:只能做全量数据传输

2、测试

服务端测试目录准备

第一种:客户端下行从服务端拉取数据,进行同步

rsync -avz lisi@192.168.20.18::share /root/test/

rsync -avz --delete lisi@192.168.20.18::share /root/test/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

运维菜鸟XY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值