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/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

白帽小丑

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

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

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

打赏作者

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

抵扣说明:

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

余额充值