Linux Rsync服务详解(一)——Rsync基本命令与使用

今天继续给大家介绍Linux运维相关内容,本文主要内容是Rsync服务详解。

一、Rsync服务简介

Rsync服务,即Remote Sync服务,远程同步服务,是用来异地或者本地进行传输同步的一种服务。与一般的cp和scp工具相比,Rsync服务优点如下:
1、备份属于增量备份,只传输修改过的文件。
2、在文件传输前和文件传输后,会对传输的文件进行压缩,从而可以减少传输带宽,降低传输时间。
3、可以对整个目录树和文件系统进行备份,可以选择性的备份软硬链接、时间、文件属性等等内容。
Rsync服务采用C/S模式,使用端口号873。Rsync的服务端是指开启Rsync服务,监听873端口的设备。Rsync服务的数据同步方式有两种,pushpull。push,即推的方式,Rsync客户端主动把要备份的数据推送给Rsync服务器,此时重要数据存储在客户端中,客户端把这些数据发送给服务器进行保存。pull,即拉的方式,Rsync客户端主动寻找Rsync服务器获取备份数据。此时重要数据存储在服务器中,客户端通过拉取的动作实现重要数据本地备份。
在使用push时,如果要设备数量过多,会导致延迟很高,因此一般应用于20台备份设备以下的场景。在公司内网中,如果服务器数量较多,则可以采取多级配置的方式配置Rsync服务,场景如下所示:

Xinetd服务会统一管理包括Rsync、tftp、DHCP等在内的小服务。在使用Rsync同步的时候,先是通过xinetd监听873端口,如果收到Rysnc信息,就会转交Rysnc服务,之后Rysnc服务会做出回应。

二、Rsync安装与启动

因为Rsync是基于xinetd服务来管理,因此在安装Rsync服务时,要同时安装xinetd服务,yum安装命令如下:

yum install -y rsync xinetd

不管是使用push还是pull,在配置rsync服务时,服务器和客户端都要安装rsync。
Rsync服务启动命令如下:

rsync --deamon

启动成功后,发现本地873端口打开:
Linux Rsync服务详解(一)——Rsync基本命令与使用_第1张图片

三、Rsync使用命令

Rsync常用命令如下:
-z 表示压缩,即在文件传输前和传输后要进行压缩
-v 表示显示详细信息
-r 表示在文件传输时对子文件夹中的内容要进行递归处理
-p 表示在备份时要保留文件原有属性
-t 表示在备份时要保留文件原有时间
-g 表示在备份是要保留文件原有属组
-o 表示在备份时要保留文件属主
-l 表示在备份时要备份所有的软链接
-D 表示在备份时要保留device信息
-a 相当于-rptgoiD的组合,即在传输文件时丝毫不变,原样备份。
–port 指定rsync服务的端口号
–delete 表示删除目标位置有的但是源位置没有的文件(注:此参数易造成文件丢失,因此需要谨慎使用)
使用rsync工具进行备份命令示例如下:

rsync -azv /back-source [email protected]:/back-target
rsync -azv [email protected]:/back-source /back-target

上述第一条命令的含义是将本地/back-source文件夹的内容,备份到192.168.136.210主机上,使用rsync账户登录,备份位置是/back-target文件夹。
第二条命令的含义是将192.168.136.210的/back-source文件夹下的内容备份到本地/back-target文件夹下,在执行这一条命令时,一定要注意,back-source后面如下有斜杠,即为/back-source/则表示备份的是该文件夹下的所有文件,而如果没有斜杠,则表示备份的是该文件夹,两者区别如下所示:
在这里插入图片描述
Linux Rsync服务详解(一)——Rsync基本命令与使用_第2张图片
上述两条命令的执行,属于手动rsync备份,需要源和目的设备都安装了rsync服务,但是不需要将其用rsync --daemon后台运行。这种备份没有服务器和客户端的明显分类,但是有明显的拉取和推送的区别。注意到上述两条命令中的rsync,即在远程机器上(非运行rsync的设备上)必须真正的存在一个名为rsync的用户,并且在备份时需要输入该用户的密码。此外,上述操作还设计到文件权限的问题。对于远程设备而言,备份的/source-target或者/source-source的属主需要是rsync用户,或者通过设置acl的方式来放行rsync用户的权限。

三、Rsync相关配置文件

Rsync配置文件为/etc/rsync.conf下,文件内包含全局参数和模块参数两部分。全局参数对rsync服务器生效,但是如果与模块参数配置不同,则模块配置优先级高于全局参数,模块参数会定义需要通过rsync输出的目录定义的参数。
常见的全局参数如下:
port:指定后台程序使用的端口号
uid、gid:指定传输文件进程的权限
max connections:指定Rsync模块的最大链接数量
pid file、lock file、log file:指定Rsync服务所使用的进程文件、所文件和日志文件
常见的局部参数如下:
path:指定同步的目录
comment:对该模块的描述,没有实际作用
read only:指定是否为只读(下载)模式,如果该参数配置为true,则该模块指定的目录只允许下载(作为备份源),如果该参数配置为false,则该模块指定的目录即可以下载(作为备份源),也可以上传(作为备份服务器)。
list:指定是否可以查看模块信息
auth users:指定Rsync认证使用的用户名(在使用配置文件和模块启动Rsync服务时,不需要系统真正存在该用户)
secrets file:指定Rsync认证使用的密码的存放文件。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

你可能感兴趣的:(服务器运维,linux,服务器,运维,Rsync)