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

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

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

一、Rsync服务简介
Rsync服务,即Remote Sync服务,远程同步服务,是用来异地或者本地进行传输同步的一种服务。与一般的cp和scp工具相比,Rsync服务优点如下:
1、备份属于增量备份,只传输修改过的文件。
2、在文件传输前和文件传输后,会对传输的文件进行压缩,从而可以减少传输带宽,降低传输时间。
3、可以对整个目录树和文件系统进行备份,可以选择性的备份软硬链接、时间、文件属性等等内容。
Rsync服务采用C/S模式,使用端口号873。Rsync的服务端是指开启Rsync服务,监听873端口的设备。Rsync服务的数据同步方式有两种,push和pull。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
1
不管是使用push还是pull,在配置rsync服务时,服务器和客户端都要安装rsync。
Rsync服务启动命令如下:

rsync --deamon
1
启动成功后,发现本地873端口打开:

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

rsync -azv /back-source rsync@192.168.136.210:/back-target
rsync -azv rsync@192.168.136.210:/back-source /back-target
1
2
上述第一条命令的含义是将本地/back-source文件夹的内容,备份到192.168.136.210主机上,使用rsync账户登录,备份位置是/back-target文件夹。
第二条命令的含义是将192.168.136.210的/back-source文件夹下的内容备份到本地/back-target文件夹下,在执行这一条命令时,一定要注意,back-source后面如下有斜杠,即为/back-source/则表示备份的是该文件夹下的所有文件,而如果没有斜杠,则表示备份的是该文件夹,两者区别如下所示:

上述两条命令的执行,属于手动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
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_40228200/article/details/121051874

目录
相关文章
|
4天前
|
Linux
Linux 常用文件查看命令
`cat` 命令用于连接文件并打印到标准输出,适用于快速查看和合并文本文件内容。常用示例包括:`cat file1.txt` 查看单个文件,`cat file1.txt file2.txt` 合并多个文件,`cat > filename` 创建新文件,`cat >> filename` 追加内容。`more` 和 `less` 命令用于分页查看文件,`tail` 命令则用于查看文件末尾内容,支持实时追踪日志更新,如 `tail -f file.log`。
22 5
Linux 常用文件查看命令
|
1月前
|
Linux
Linux系统之whereis命令的基本使用
Linux系统之whereis命令的基本使用
77 24
Linux系统之whereis命令的基本使用
|
10天前
|
Linux
Linux od命令
本文详细介绍了Linux中的 `od`命令,包括其基本语法、常用选项和示例。通过这些内容,你可以灵活地使用 `od`命令查看文件内容,提高分析和调试效率。确保理解每一个选项和示例的实现细节,应用到实际工作中时能有效地处理各种文件查看需求。
43 19
|
21天前
|
缓存 Ubuntu Linux
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
112 25
|
11天前
|
安全 Linux iOS开发
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Gti 服务
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Gti 服务
33 0
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Gti 服务
|
19天前
|
缓存 Linux
Linux查看内存命令
1. free free命令是最常用的查看内存使用情况的命令。它显示系统的总内存、已使用内存、空闲内存和交换内存的总量。 free -h • -h 选项:以易读的格式(如GB、MB)显示内存大小。 输出示例: total used free shared buff/cache available Mem: 15Gi 4.7Gi 4.1Gi 288Mi 6.6Gi 9.9Gi Swap: 2.0Gi 0B 2.0Gi • to
32 2
|
2月前
|
网络协议 Unix Linux
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
62 11
|
Unix Linux 数据安全/隐私保护
linux基本命令学习01
=============================================================================Unix/Linux最主要的应用领域是基础服务器应用,如DNS服务器(域名系统 )、DHCP服务器(动态主机配置协议)、Web服务器(网站服务器)、FTP服务器(文件传输协议)、防火墙等。
1068 0
|
Unix Linux Shell
linux基本命令学习02
=============================================================================a.txtc:\abc\a.txt    windows写法(反斜杠)/abc/a.txt       linux写法(斜杠)-----------------------------------------------------------------------------相对路径表达方法cat a.txt         如果不加任何路径说明,默认是当前目录下的文件。
1253 0
|
分布式计算 Hadoop Unix
Hadoop Shell命令(基于linux操作系统上传下载文件到hdfs文件系统基本命令学习)
Apache-->hadoop的官网文档命令学习:http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.html FS Shell 调用文件系统(FS)Shell命令应使用 bin/hadoop fs 的形式。
2880 0