rsync 服务介绍及相关实验
一、rsync 简介
rsync 是类 unix 系统下的数据镜像备份工具。一款支持快速完全备份和增量备份的工具,支持本 地复制,远程同步等,类似于 scp 命令;rsync 命令在同步文件之前要先登录目标主机进行用户身份 认证,认证过后才能进行数据同步,身份认证方式取决于所使用的协议类型,rsync 一般使用两种协议进行数据同步:ssh 协议和 rsync 协议。
二、rsync 特性
- 能更新整个目录树和文件系统
- 有选择性的保留符号链接、硬链接、文件属性、权限、设备以及时间等
- 对于安装来说,无任何特殊权限要求
- 对于多个文件来说,文件传输效率高
- 能用 ssh 或自定义端口作为传输入口端口
三、工作原理
既然涉及到数据同步,就要涉及到以哪一方为基准,哪一方为目标。例如,想让目标主机上的文件和本地文件保持同步,则是以本地文件为同步基准,将本地文件作为源文件推送到目标主机上。 rsync 在进行数据同步之前需要先进行用户身份验证,验证方式取决于使用的连接方式:
- ssh 登录验证模式:使用 ssh 协议作为基础进行用户身份认证,然后进行数据同步。
- rsync 登录验证模式:使用 rsync 协议进行用户身份认证(非系统用户),然后进行数据同步。
四、rsync 相关实验
1、 ssh 协议数据同步,将 NFS 服务器数据同步备份到 rsync 服务器
实现数据下载

格式:rsync -avz 服务器地址:/服务器目录/* /本地目录
示例:rsync -avz root@100.100.100.103:/share/* .
-a:归档模式,递归并保留对象属性
-v:显示同步过程
-z:在传输文件时进行压缩
实现数据上传

格式:rsync -avz /本地目录/* 服务器地址:/服务器目录
示例:rsync -avz ./* root@100.100.100.103:/share
注意:使用 root 用户进行实验可以,但生产环境中尽量使用单独创建的普通用户,减少权限溢出 创建用来做数据同步的用户,并给予用户对目录的相应权限,一般使用 ACL 设置权限
2、rsync 协议数据同步:将 NFS 服务器数据同步备份到 rsync 服务器
搭建rsync 服务
1)配置主配置文件
address = 100.100.100.103 #rsync 服务绑定 IP
port 873 #默认服务端口 873
log file = /var/log/rsyncd.log #日志文件位置
pid file = /var/run/rsyncd.pid #进程号文件位置
[web] #共享名:用来连接是写在 url 上的,切记
comment = rsync server #共享描述话语
path = /share #实际共享目录
read only = no #是否仅允许读取
dont compress = *.gz *.bz2 #哪些文件类型不进行压缩
auth users = love2 #登录用户名(非系统用户,需要自行创建)
secrets file = /etc/rsyncd_users.db
2)创建密码文件
vim /etc/rsyncd_users.db
love2:123456
chmod 600 /etc/rsyncd_users.db
3)启动服务
[root@centos share]# netstat -antp | grep :873
tcp 0 0 100.100.100.103:873 0.0.0.0:* LISTEN 2630/rsync
4)对 /share目录设立权限
setfacl -m u:nobody:rwx /share
实现下载
格式:rsync -avz rsync://用户名@服务器地址/共享模块名 /本地目录
示例:rsync -avz rsync://love2@100.100.100.103/web .
拓展:--delete:删除本地比服务器多出来的文件
rsync -avz --delete rsync://love2@100.100.100.103/web .
实现上传
格式:rsync -avz /本地目录/* rsync://用户名@服务器地址/共享模块名
示例:rsync -avz ./* rsync://love2@100.100.100.103/web
拓展:rsync 协议的免密码可以借助一个环境变量实现
# export RSYNC_PASSWORD=虚拟用户密码(客户端生成)
# export RSYNC_PASSWORD=123456
rsync 服务介绍及相关实验的更多相关文章
- nginx介绍及相关实验
一.nginx介绍 1.nginx简介 Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP 服务.Nginx 是由伊戈尔·赛索耶夫为俄罗斯访问量第二的 R ...
- Rsync服务介绍与配置
Rsync 简要介绍 rsync 是一个用于增量文件传输的开源工具,不得不说,rsync简直是不同服务器间传输文件.同步文件的利器.与FTP相比,它具有非常简单的安装和配置方法.而且,rsync可以只 ...
- Linux Rsync备份服务介绍及部署守护进程模式
rsync介绍 rsync是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份工具 在常驻模式(daemon mode)下,rsync默认监听TCP端口873,以原生rsync传输 ...
- NFS服务介绍及实验
一.什么是NFS NFS 是 Network File System 的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由 Sun 公司开发,于 1984 年向外公布.功能是通过网络让不同的机器 ...
- 超详细,多图文使用galera cluster搭建mysql集群并介绍wsrep相关参数
超详细,多图文使用galera cluster搭建mysql集群并介绍wsrep相关参数 介绍galera cluster原理的文章已经有一大堆了,百度几篇看一看就能有相关了解,这里就不赘述了.本文主 ...
- rsync 服务部署详解
第1章 rsync 软件介绍 1.1 什么是rsync rsync 是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份的优秀工具. http://www.samba.org/ft ...
- CentOS7 Rsync服务搭建-Rsync+Inotify架构实现实时同步
一.rsync 概念 1.rsyncrsync是类unix/linux系统下的数据镜像备份工具.使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH.rsync主机同 ...
- rsync工具介绍
rsync工具介绍 http://man.linuxde.net/rsync rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.rsync使用所谓的“rsync算法” ...
- Linux搭建rsync服务
一.Rsync的简单介绍 Rsync是一款开源的.快速的.多功能的.可实现全量及增量(全量备份是指全部备份,增量备份是在上一次备份的基础上只备份更新的内容)的本地货远程数据同步备份的优秀工具.Rsyn ...
随机推荐
- Android 隐藏EditText的焦点
在页面的开发过程中,我们可能会遇到这样的情况,打开某个页面(Activity)时,如果该页面中有EditText组建,则会自动弹出软键盘(因为该EditText自动获取焦点了),这样很容易影响用户体验 ...
- centos7.0 可以访问HTML文件,不能访问PHP文件,因为php-fpm没有扩展包
解决方法 :https://blog.csdn.net/ityang_/article/details/53980190 nginx调用PHP有sock方式和端口方式 1.确认nginx已经调用了ph ...
- element-ui隐藏组件el-scrollbar
代码如下: <div class="main_wrapper"> <el-scrollbar wrapClass="scrollar_container ...
- 2019-11-6-Roslyn-how-to-use-WriteLinesToFile-to-write-the-semicolons-to-file
title author date CreateTime categories Roslyn how to use WriteLinesToFile to write the semicolons t ...
- java TreeSet的排序之自然排序
TreeSet会调用元素的compareTo(Object o)方法来比较元素之间的大小关系,然后将集合里的元素按升序排列.此时需要排序元素的类必须实现Compareble接口,并覆写其int com ...
- python模块之序列化模块
序列化 """ 序列--字符串 序列化--其他数据类型转化为字符串数据类型 反序列化--字符串转化为其他数据类型 """ json模块 &q ...
- vmware虚拟机卸载干净在注册表的也需要删除
- 【u033】地震逃生
Time Limit: 1 second Memory Limit: 64 MB [问题描述] 汶川地震发生时,四川**中学正在上课,一看地震发生,老师们立刻带领x名学生逃跑,整个学校可以抽象地看成一 ...
- ASP.NET Core 连接 GitLab 与 MatterMost 打造 devops 工具
在现代化开发工具链里面就包含了自动化的通讯工具,而日志写代码我是推到 Gitlab 平台上,我今天听了郭锐大佬的分享之后,感觉我现在的团队的自动化做的远远不够.我在他的课程上学到的最重要一句话就是做工 ...
- Codeforces 837D 动态规划
Codeforces 837D 动态规划 传送门:https://codeforces.com/contest/837/problem/D 题意: 给你n个数,问你从这n个数中取出k个数,这k个数的乘 ...