rsync基础及基本使用

1、rsync同步工具

1.1、rsync介绍

rsync(remote sync)是unix系统下的数据镜像备份工具,也是一款快速增量备份工具,支持远程同步、本地复制等功能。而且rsync不但传输速度快,而且在传输时,可以实现差异备份,也就是仅如果服务器端和客户端之间数据不一致时,仅复制不同的部分。

1.1.1、特点:

    • 可以镜像保存整个目录树或文件系统
    • 有较高的文件传输效率
    • 可以借助于ssh实现安全数据传输
    • 支持匿名数据传输

1.1.2、rsync工作模式

    • 本机上直接运行,类似cp工具shell模式(本地模式)
    • 使用rsh或ssh上实现服务器端与客户端之间数据传输(远程shell模式,可利用ssh协议承载其远程传输过程
    • 列表模式,仅列出源中的内容,而不复制(-nv)
    • 服务器模式,此时rsync工作为守护进程。能够接收客户端的数据传输请求,而且在同步时可以把客户端的数据同步给服务器端,也可以反过来

1.1.3、同步方式

基于某种算法,也叫rsync算法,实现去检查你的源和目标之间两个文件是否有不同之处,如果有,仅去发送不同的文件,相同的就不做复制,所以是快速同步工具

1.1.4、缺点

传输过程是不加密的(但是他能借助ssh实现传输加密)

1.2、rsync命令常用选项

-n:测试同步,但是实际上不做同步

-v:详细输出模式

-q:静默模式,不显示信息

-c:checksum,开启校验功能

-r:递归复制

注释:这里需要注意个地方,如果你复制的文件最后没有“/”,那么他复制的就是目录名,如果有的话,他复制的里面的所有文件

-a:归档,保留文件的原有属性

-p:保留文件的权限

-t:保留文件的时间戳

-l:保留符号链接

-g:保留属组

-o:保留属主

-D:保留设备文件

-e ssh:使用ssh作为传输承载

-z:压缩后传输

--progress:显示进度条

--stats:显示如何执行压缩和传输

用法示例:
[[email protected]~]# rsync -r --stats -e ssh --progress /etc/pam.d [email protected]:/tmp/

1.3、服务器模式

1.3.1、服务

rsync工作于服务器模式时,rsync自身并不监听,因为他是瞬时守护进程,需要借助于超级守护进程(xinetd)

1.3.2、配置文件

如果rsync需要工作起来,将自己本地某个目录存储块共享出去,还需要提供额外的配置文件。但此配置文件rsync并是没有提供。虽然没有提供直接的配置文件,但是在它安装目录下有一个叫rsyncd.conf.5.gz的文件,这个文件就是rsync的帮助手册。我们可以根据里面的帮助信息,自我编写相应的配置文件

1.3.3、服务配置文件格式

rsync配置文件分两段:

注释:主要定义有哪些共享,每一个共享都是类似Samba一样用[]来定义

全局配置段:通常只有一个

共享配置段:可以有多个

例如:[SHARE_NAME]    #定义共享名    #有点类似Samba

1.3.4、rsync所监听的端口

rsync所监听的端口是 873

1.3.5、rsync命令格式

Access via rsync daemon:

    #从远端服务器拉去数据
        Pull: rsync [OPTION...] [[email protected]]HOST::SRC... [DEST]     
              rsync [OPTION...] rsync://[[email protected]]HOST[:PORT]/SRC... [DEST]
    #向远端服务器推送数据
    Push: rsync [OPTION...] SRC... [[email protected]]HOST::DEST                    
          rsync [OPTION...] SRC... rsync://[[email protected]]HOST[:PORT]/DEST

示例:使用客户端执行下面的命令(向远端服务器推送数据)

[[email protected] ~]# rsync /etc/fstab 192.168.1.187::tools

注释:这里是明确定义推送到哪个共享名即可

[[email protected] ~]# rsync /etc/fstab rsync://192.168.1.187/tools

示例:使用客户端执行下面的命令(从远端服务器拉去数据到本地)

注释:前提是你的tools指定的共享盘是有数据的

[[email protected] ~]# rsync -a 192.168.1.187::tools/ ./
[[email protected] tmp]# rsync -a 192.168.1.187::tools/Local.repo ./   #拉取单个文件

[[email protected] tmp]# rsync -a rsync://192.168.1.187/tools/fstab ./

1.3.6、实验:实现rsync安装及应用

实验拓扑

步骤

1、想启动rsync服务,先安装超级守护进程

[[email protected] ~]# yum install xinetd  #安装超级守护进程

2、设置开机自动启动

[[email protected] xinetd.d]# chkconfig xinetd on

3、安装rsync

[[email protected] xinetd.d]# yum install rsync -y

4、查看超级守护进程下自动生成的rsync服务

[[email protected] xinetd.d]# vim /etc/xinetd.d/rsync
service rsync
{
        disable = no         # 这里改为no,就表示启用起来了
        flags           = IPv6
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon
        log_on_failure  += USERID

5、创建共享目录

[[email protected] xinetd.d]# mkdir /data

6、编辑配置文件/etc/rsyncd.conf(此文件是自己新建,系统不会自动生成)

[[email protected] xinetd.d]# vim /etc/rsyncd.conf
# Global Settings
uid = nobody
gid = nobody
use chroot = no  #要不要启用chroot功能
max connections = 10  #最大并发连接数
strict modes = yes     #是否启用严格检查权限,用户是否允许上传下载
pid file = /var/run/rsync.pid
log file = /var/log/rsyncd.log
# Directory to be synced
[tools]
path = /data#共享文件所存放的地方
ignore error = yes        #传输中如果有文件发生错误了怎么办,yes表示忽略
read only = no      #是否是只读
write only = no         #是不是只写,让别人不能看
hosts allow = 192.168.1.0/24          #允许哪些主机来实现数据同步(白名单)
hosts deny = *                   #如果他匹配到上面的,那么就直接通过,如果没有,表示拒绝所有
list = false                  #是否允许列出所有 true/false
uid = root
gid = root  #这里的uid和gid和上面的不同,这里的意思是这个共享目录是以什么身份运行的。如果此处比写,将会继承上面的

7、启动服务

[[email protected] xinetd.d]# service xinetd star

8、使用Linux客户端测试连接

[[email protected] ~]# rsync /etc/fstab 192.168.1.187::tools

注释:如果连接不成功,请查看是否开启了防火墙

1.3.7、实验:服务器端启用用户认证的功能

我们知道使用IP地址访问授权既不方便也不安全,所以解决办法就是给用户授权。

介绍

1、首先要添加认证参数,就是在共享定义处添加配置 [tools]添加两项参数

auth users = USERNAME LIST    #允许哪个用户,要写具体的名字,此用户必须是你的    password存在的用户

Secrets file = /etc/rsynce.passwd    #密码文件路径,需要自己创建

说明:USERNAME LIST以逗号分隔的再rsyncd.passwd中存在用户名的列表

2、创建密码文件/etc/rsyncd.passwd       #这个密码文件有特殊的权限要求,必须是600

格式:

    username:password

注释:内容是明文的,所以要做好文件权限控制

示例:

1、编辑rsyncd.conf配置文件,添加用户认证参数

[[email protected] data]# vim /etc/rsyncd.conf
auth users = tom, jerry       
secrets file = /etc/rsyncd.passwd

2、创建rsync密码文件及创建用户账号密码

[[email protected] data]# vim /etc/rsyncd.passwd
wqp:pangxie
windchaser:pangxie

3、修改权限

[[email protected] data]# chmod 600 /etc/rsyncd.passwd

4、重启xinetd服务

[[email protected] data]# service xinetd restart

5、使用客户端测试

[[email protected] ~]# rsync /etc/fstab [email protected]::tools
时间: 2024-07-30 13:52:16

rsync基础及基本使用的相关文章

Rsync 基础配置

rsync 部署/同步 cat /etc/rsyncd.conf # /etc/rsyncd: configuration file for rsync daemon mode # See rsyncd.conf man page for more options. # configuration example: uid = nobody gid = nobody port = 873 use chroot = yes timeout = 900 ignore nonreadable = ye

Rsync基础

1.什么是rsync? 答:开元的.快速的.多功能的,可实现全量及增量的本地或远程数据同步备份优秀工具(可以实现全量与增量)同时还可以实现删除功能 2.rsync特性? ①.支持特殊文件的拷贝与连接:拥有排除功能:可以做到目录或者文件的权限.时间.软硬连接.属主.组等属性均不变,等于-p ②.增量同步复制(就是我在复制一个文件时候,对面有的东西我就不在复制)这样效率很高 ③.通过ssh远程服务来配合文件的传输,远程复制 ④.可以实现客户端与服务器的socket进程监听的方式,来接收数据 ⑤.接收

一、rsync基础原理

第1章 rsync 软件介绍 1.1 什么是rsync rsync 是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份的优秀工具. http://www.samba.org/ftp/rsync/rsync.html 下载地址:https://download.samba.org/pub/rsync/ 1.1.1 全量及增量 全量:将全部数据,进行传输覆盖 增量:只传输差异部分的数据 1.2 实现增量复制的原理 Rsync通过其独特的“quick check”算法,实现增量传

inotify+rsync实现文件即使备份

// Rsync + inotiry 实现即时同步数据 20140913 [环境需求] 1.linux 内核版本 > 2.6.13 2.预先安装rsync , inotify是在rsync基础上运行 3.可以查看 ls /proc/sys/fs/inotify/ -rw-r--r-- 1 root root 0 Sep 14 00:00 max_queued_events // 时间队列 后期生产环境需要改大点 -rw-r--r-- 1 root root 0 Sep 14 00:00 max_

rsync的man手册(未完成)

本文是man rsync的官方手册译文,版本是3.1.2. 本文没打算翻译每个option,常用的option已经在另一篇文章rsync基础中有描述. 一开始的翻译过程比较顺畅,越到后面越难以理解,侧面也反应出了英文能力受限. 大家想查看完整的rsync man手册,可参考骏马金龙大佬的翻译. NAME rsync是一款快速的,全能的,远程(和本地)文件复制工具. SYNOPSIS Local: rsync [OPTION...] SRC... [DEST] Access via remote

如何使用 rsync 备份 Linux 系统的一些介绍

备份一直是 Linux 世界的热门话题.回到 2017,David Both 为 Opensource.com 的读者在使用 rsync 备份 Linux 系统方面提了一些建议,在这年的更早时候,他发起了一项问卷调查询问大家,在 Linux 中你的 /home 目录的主要备份策略是什么,在今年的另一个问卷调查中,Don Watkins 问到,你使用哪种开源备份解决方案. 我的回复是 rsync.我真的非常喜欢 rsync!市场上有大量大而复杂的工具,对于管理磁带机或者存储库设备,这些可能是必要的

java web 开发三剑客 -------电子书

Internet,人们通常称为因特网,是当今世界上覆盖面最大和应用最广泛的网络.根据英语构词法,Internet是Inter + net,Inter-作为前缀在英语中表示“在一起,交互”,由此可知Internet的目的是让各个net交互.所以,Internet实质上是将世界上各个国家.各个网络运营商的多个网络相互连接构成的一个全球范围内的统一网,使各个网络之间能够相互到达.各个国家和运营商构建网络采用的底层技术和实现可能各不相同,但只要采用统一的上层协议(TCP/IP)就可以通过Internet

rsync高级同步工具基础及实战

drdb 基于文件系统同步 rsync 开源的多功能的.可实现全量.增量的本地或远程的数据同步工具.默认不加密,还可以删除,具备scp.cp.rm. inotify实时增量备份,企业一般是rsync+inotify或rsync+sersync.虽然rsync可以增量备份,但企业一般不会采用这个功能,原因在于增量备份时会有比对,特别有业务的情况下,不能这样做会占用大量资源. rsync 默认参数-avz   -r --delete  /目录后要带斜线,rsync区别与带不带/.一般都带代表只包括目

linux基础之命令Rsync

Rsync命令参数详解 在对rsync服务器配置结束以后,下一步就需要在客户端发出rsync命令来实现将服务器端的文件备份到客户端来. rsync是一个功能非常强大的工具,其命令也有很多功能特色选项,我们下面就对它的选项一一进行分析说明. Rsync的命令格式可以为以下六种: rsync [OPTION]... SRC DEST rsync [OPTION]... SRC [[email protected]]HOST:DEST rsync [OPTION]... [[email protect