rsync配置和守护进程实践

本文详细介绍了rsync的概念、工作方式,包括rsync的特点、增量和全局传输,以及如何在实践中使用rsync进行数据备份、传输和守护进程部署,涉及本地和远程操作,以及大文件断点续传功能。

目录

一、rsync概念

1.rsync简介

2.rsync特点

3、增量和全局传输

二、Rsync工作方式

1.准备好rsync备份服务器

2.本地的数据传输模式

3.远程的数据传输模式

4.rsync数据推拉模式

三、实践

1.准备三台虚拟机

2.都安装rsync服务

3.拉取远程文件

3.推送文件

4.rsync守护模式传输

四.rsync守护进程部署

1.确保安装了rsync服务

2.修改服务端配置文件

4.在rsync服务端做好环境配置工作

5.启动rsync服务开机自启

6.客户端配置

8.rsync大文件断点续传


一、rsync概念

1.rsync简介

全局数据备份,以及增量数据备份本地,远程的数据同步,一款优秀的工具

rsync可以类似于cp一样,实现本地数据拷贝

也能像scp一样进行远程的数据拷贝

还支持守护进程方式数据拷贝

delta-transfer算法,实现增量复制

scp远程数据传输,只能是实现全量数据传输

2.rsync特点

  • 可以实现cp效果,本地数据备份
  • 实现远程数据同步复制,如scp效果
  • 如rm效果可以删除本地文件
  • 也可以实现远程的数据查看,例如远程的ssh+ls的命令执行

软件特性

  • rsync支持普通文件拷贝,支持特殊文件拷贝,link,c设备文件
  • 还支持文件排他,可以指定不拷贝那些文件
  • 还能实现数据拷贝后,属性不发生变化(start命令查看)
  • 特点~支持增量数据拷贝
  • rsync可以配合ssh实现安全的数据传输,rsync本身不支持数据加密
  • rsnc支持匿名用户传输

3、增量和全局传输

rsync在数据备份的时候,通过quick check算法,检测数据,容量,最后修改时间变化

rsync甚至可以复制单个文件的内容传输

增量传输的原理就是,一边对比差异,一边对比差异进行数据复制,centos7上的3.x版本,效率更高


二、Rsync工作方式

1.准备好rsync备份服务器

安装rsync工具

yum install -y rsync

2.本地的数据传输模式

类似于cp,ls,touch命令的增删改查,实现数据的增量备份

语法模式

备份hosts文件

rsync /etc/hosts /tmp/

差异化同步

file目录和tmp目录差异化同步

[root@localhost /]# mkdir /file/{11,22,33}
[root@localhost /]# ls -l file
total 0
drwxr-xr-x. 2 root root 6 Nov 12 08:12 11
drwxr-xr-x. 2 root root 6 Nov 12 08:12 22
drwxr-xr-x. 2 root root 6 Nov 12 08:12 33
[root@localhost /]# ls -l /tmp/
total 0
[root@localhost /]# rsync -r --delete /file/ /tmp/
[root@localhost /]# ls -l /tmp/
total 0
drwxr-xr-x. 2 root root 6 Nov 12 08:12 11
drwxr-xr-x. 2 root root 6 Nov 12 08:12 22
drwxr-xr-x. 2 root root 6 Nov 12 08:12 33

文件差异化同步

[root@localhost /]# echo "111111111122222222222222" > /file/1.txt
[root@localhost /]# cat /file/1.txt 
111111111122222222222222
[root@localhost /]# touch /tmp/null
[root@localhost /]# cat /tmp/null 
[root@localhost /]# rsync -r --delete /tmp/null file/1.txt 
[root@localhost /]# cat /file/1.txt 

3.远程的数据传输模式

借助于ssh服务在两台机器之间进行数据传输,此时已经没有客户端和服务端之分,而是一种相对关系。

4.rsync数据推拉模式

远程的数据传输模式,有两种情况,推送和拉取

拉取:把远程服务器的数据,拉取到本地来

推送:把本地的数据,推送,上传发送远程的服务器


三、实践

1.准备三台虚拟机

第一台

第二台

第三台

2.都安装rsync服务

yum install rsync -y

3.拉取远程文件

我们在192.168.0.103服务器上创建一个文件

echo "yuancheng rsync" > /tmp/yuanc.txt

拉取文件,然后检查

rsync -av -e 'ssh -p 22' root@192.168.0.103:/tmp/yuanc.txt /tmp/
cat /tmp/yuanc.txt 

3.推送文件

rsync -av -e 'ssh -p 22'  /tmp/yuanc.txt root@192.168.0.107:/tmp/

4.rsync守护模式传输

守护模式传输是在客户端与服务端之间的数据复制

服务端需要配置好守护进程,等待客户端远程的执行数据同步命令,然后实现数据的拉取和推送


四.rsync守护进程部署

1.确保安装了rsync服务

yum install rsync -y 

2.修改服务端配置文件

vim /etc/rsyncd.conf

输入

 uid = rsync
 gid = rsync
 fake super = yes
 use chroot = no
 max connections = 200
 pid file = /var/run/rsyncd.pid
 lock file = /var/run/rsync.lock
 log file = /var/log/rsyncd.locki
 ignore errors
 read only = false
 list = false
 hosts allow = 192.168.0.0/24
 hosts deny = 0.0.0.0/32
 auth users = rsync_backup
 secrets file = /etc/rsync.password
 [backup]
 comment = This is rsync backup!
 path = /backup/

 [myweb]
 path=/my_web/

3.创建用户

useradd rsync -s /sbin/nologin -M
id rsync

4.在rsync服务端做好环境配置工作

mkdir -p /backup
chown -R rsync.rsync /backup
echo "rsync_backup:123456" > /etc/rsync.password
chmod 600 /etc/rsync.password

5.启动rsync服务开机自启

systemctl restart rsyncd
systemctl enable rsyncd

netstat -tunlp|grep rsync

6.客户端配置

yum install rsync -y
echo "123456" > /etc/rsync.password 
chmod 600 /etc/rsync.password 
export RSYNC_PASSWORD=123456
echo "export RSYNC_PASSWORD=123456" >> /etc/profile

7.测试

客户端推送数据

rsync -avzP /my_rsync rsync_backup@192.168.0.107::backup --password-file=/etc/rsync.password

服务端

客户端拉取数据

服务端创建文件

touch /backup/{11,22,33,44,55,66,77}
ls /backup/

客户端

 rsync -avzP  rsync_backup@192.168.0.107::backup --password-file=/etc/rsync.password /my_rsync/

exclude排除文件

服务端准备

touch /backup/{11,22,33,44,55,66,77}
mkdir /backup/{a,b,c,d,e,f}
touch /backup/a/11
touch /backup/b/22
touch /backup/c/33
touch /backup/d/44

客户端

rsync --exclude=11 --exclude=d/44 -avzP rsync_backup@192.168.0.107::backup --password-file=/etc/rsync.password /my_rsync/

8.rsync大文件断点续传

rsync提供了如下的参数

  • partial

默认情况下rsync传输中断后,将会删除所有传输了一部分的文件,重新传输在某些情况下,用户可能会希望保留已经传输的内容,该参数,告知rsync保留已经传输好的内容,使得剩余部分,可以继传输

  • partial-dir=DIR

保留已经传输的部分文件,且将内容保存到一个目录中,而不是立即写入到目标文件,便于下次传输的时候,rsync使用该目录中的数据,再进行整体数据的传输和恢复,结束后删除该目录

if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >

of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >

bs=bytes:同时设置读入/输出的块大小为bytes个字节。

count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。

实例

服务端

 dd if=/dev/zero of=/backup/file bs=10M count=128

客户端

rsync -avzP --partial-dir=/tmp//my_rsync/test1 rsync_backup@192.168.0.107::backup  --password-file=/etc/rsync.password /my_rsync/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

白帽小丑

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

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

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

打赏作者

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

抵扣说明:

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

余额充值