rsync介绍

rsync用来定时备份服务器中的文件或者目录,有三种工作模式,本地复制,使用系统用户认证,守护进程方式,开源高效。同步工具,把一台机器上的文件同步都另一台机器 。默认使用873端口

选项

-a           #归档模式传输, 等于-tropgDl
-v #详细模式输出, 打印速率, 文件数量等
-z #传输时进行压缩以提高效率
--delete #让目标目录和源目录数据保持一致
--password-file=xxx #使用密码文件 ------------------- -a 包含 ------------------
-r #递归传输目录及子目录,即目录下得所有目录都同样传输。
-t #保持文件时间信息
-o #保持文件属主信息
-p #保持文件权限
-g #保持文件属组信息
-l #保留软连接
-D #保持设备文件信息
---------------------------------------------- -L #保留软连接指向的目标文件
-e #使用的信道协议,指定替代rsh的shell程序
--exclude=PATTERN #指定排除不需要传输的文件模式
--exclude-from=file #文件名所在的目录文件
$RSYNC_PASSWORD # 用来存放rsync密码的变量,使用之后可以不使用--password-file=xxx
# 远程传送 复制
scp 源文件 目标 上传到另一台机器
scp yum.log root@10.0.0.41:/root/ 从另一台机器下载
scp root@10.0.0.41:/root/yum.log /root -r 传送目录
推 scp -r /etc root@10.0.0.41:/root/
拉 scp -r root@10.0.0.41:/root/ /etc http 80
https 443
rsync 873
ftp 21
ssh 22 C/S 架构
client/server

小提示:利用rsync还可以实现删除文件和目录的功能,这又相当于rm命令,一个rsync相当于scp、cp、rm,但是还优于他们的每一个命令。

备份类型

增量备份

​ 基于全部备份,当客户端A中有file1、file2、file3三个文件,服务器中有已经备份的file1,那么这个时候只会备份,file2和file3,在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加或者被修改的文件。

全部备份

​ 会把客户端备份的内容全部备份到,服务器中。

差异备份

​ 假设我们在第一天也进行一次完全备份。第二天差异备份时,会备份第二天和第一天之间的差异数据,而第二天的备份数据是完全备份加第一次差异备份的数据。

rsync的使用方法

# 推
# 没有/的情况是备份整个目录
rsync -avz /etc root@10.0.0.41:/backup # 有/的情况是备份目录里面的内容
rsync -avz /etc/ root@10.0.0.41:/backup # 拉
rsync -avz root@10.0.0.41:/etc/sysconfig/network-scripts/ifcfg-eth* /tmp

rsync的传输模式

本地传输模式

# 语法
rsync [OPTION...] SRC... [DEST] # 复制文件
rsync /tmp/ifcfg-eth1 /opt/ # 拷贝目录
rsync -a /etc /opt/

远程传输模式

Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
拉: rsync [选项] 用户名@主机ip:路径 本地路径
[root@web01 /tmp]# rsync -avz root@10.0.0.41:/etc/hostname ./ Push: rsync [OPTION...] SRC... [USER@]HOST:DEST
推: rsync [选项] 本地文件或者目录 用户名@主机ip:路径

这种模式借助的是ssh协议的22端口,当默认端口更改之后需要使用选项去指定。

守护进程模式

Access via rsync daemon:
Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
# 拉: rsync [-avz] zls_bak@10.0.0.41::[模块] 源文件
Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
# 推: rsync [-avz] 源文件 zls_bak@10.0.0.41::[模块]

环境准备

主机名 wanIP lanIP 角色
web01 10.0.0.7 172.16.1.7 客户端
backup 10.0.0.41 172.16.1.41 服务端

服务端 : 备份的文件放在哪台主机的磁盘谁就是服务端。

1、安装服务端

yum -y install rsync

2、修改配置文件通常以.conf .cfg .cnf 结尾的

[root@web01 /tmp]# vi /etc/rsyncd.conf
uid = rsync # 进程启动的用户
gid = rsync # 指定进程启动的gid
port = 873 # rsync服务的端口
fake super = yes # 无需让rsync以root的身份运行,允许接收文件的完整属性。
use chroot = no # 禁锢指定的目录path
max connections = 200 # 最大连接数
timeout = 600 # 超时时间单位s
ignore errors # 忽略错误
read only = false # 不只读,可读写
list = false # 不允许别人查看模块名
auth users = rsync_backup # 传输文件的用户
secrets file = /etc/rsync.passwd # 传输用户的密码文件
log file = /var/log/rsyncd.log # 日志文件
#####################################
[backup] # 模块名
comment = welcome to oldboyedu backup! # 注释
path = /backup # 备份的目录

3、根据配置文件内容创建需要的环境

useradd rsync -s /sbin/nologin -M
mkdir /backup
chown -R rsync.rsync /backup/ [root@web01 /tmp]# vi /etc/rsync.passwd
rsync_backup:123 echo 'rsync_backup:123' > /etc/rsync.passwd
chmod 600 /etc/rsync.passwd # 密码文件必须是这个权限

4、启动服务加入开机自启

systemctl start rsyncd
systemctl enable rsyncd
netstat -lntup |grep 873
ps -ef | grep rsync

5、安装客户端

yum -y install rsync
# 客户端不用修改配置文件

6、配置客户端密码文件

echo '123' > /etc/rsync.passwd
chmod 600 /etc/rsync.passwd

5、使用

推: rsync -avz /etc/passwd rsync_backup@10.0.0.41::backup --password-file=/etc/rsync.passwd

脚本使用rsync密码变量

export RSYNC_PASSWORD=123
rsync -avz ./ rsync_backup@10.0.0.41::backup

rsync无差异同步

--delete

保证服务器上的内容和本地的内容是一致的,如果服务器上的内容多了会被删除,使用很危险 。

[root@web01 ~]# rsync -avz ./ --delete rsync_backup@10.0.0.41::backup --password-file=/etc/rsync.passwd

rsync限速

--bwlimt

限制对磁盘的I/O

[root@web01 ~]# rsync -avz ./ --bwlimit=1 rsync_backup@10.0.0.41::backup --password-file=/etc/rsync.passwd

rsync 服务配置_rsync命令使用方法的更多相关文章

  1. fedora25的免密码rsync服务配置

      目标:实现免密同步数据: 1.安装rsync包: 2.手工添加配置文件: cat  /etc/rsyncd.conf # See rsyncd.conf man page for more opt ...

  2. sshd服务安装-ssh命令使用方法

    SSHD服务概述 介绍:SSH协议:安全外壳协议.为 Secure Shell的缩写.SSH 为建立在应用层和传输层基础上的安全协议. 作用:SSHD服务使用SSH协议可以用来进行远程控制,或在计算机 ...

  3. SFTP服务配置以及命令/代码操作

    POM <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.or ...

  4. 【转】mac os x配置adb命令的方法,苹果电脑设置adb命令的方法

    http://www.myexception.cn/operating-system/1636963.html 步骤如下: 1. 启动终端Terminal (如果当前用户文件夹下已有.bash_pro ...

  5. CentOS7下rsync服务的基本详解和使用

    第1章 Rsync基本概述 1.1 什么是Rsync rsync是一款开源,快速,多功能的可实现增量的本地或远程的数据镜像同步备份的优秀工具.适用于多个平台.从软件名称可以看出来是远程同步的意思(re ...

  6. 基于CentOS7.5的 Rsync 服务详解

    第1章 Rsync概述 1.1 Rsync基本概述 rsync是一款开源的备份工具,可以在不同服务器(主机)之间进行同步备份, 可实现完全备份与增量备份,因此非常适合用于架构集中式备份或异地备份等应用 ...

  7. Windows Server 2019远程桌面服务配置和授权激活

    参考Windows Server 2016远程桌面服务配置和授权激活方法可适用于Windows Server 2019     Server 2016默认远程桌面连接数是2个用户,如果多余两个用户进行 ...

  8. CentOS7下rsync服务端与Windows下cwRsync客户端实现数据同步配置方法

    最近需求想定期备份服务器d盘的数据到Linux服务器上面,做个笔记顺便写下遇到的问题 以前整过一个win下的cwrsync(客户端)+rsync(服务端:存储)的bat脚本 和整过一个Linux下的r ...

  9. 配置rsync服务,数据同步。

    这部分设计服务器端和客户端. [服务器端] 如果服务器没有安装rsync服务则使用yum安装rsync服务. yum install rsync 然后 vim /etc/xinetd.d/rsync ...

随机推荐

  1. 2019年度CMMI V2.0性能报告

    2020年底,CMMI研究院发布<2019 CMMI V2.0 Performance Report Summary>,渠成团队进行了全文翻译并简单总结如下.(文末提供中英双版PDF下载) ...

  2. Android Studio的基本开发环境,配置阿里云源

    原创文章,转发请注明出处. 安装Android Studio 安装文件下载地址:https://developer.android.google.cn/studio/ 下载Gradle 由于国内的网络 ...

  3. Java(232-245)【Collection、泛型】

    class GenericInterfaceImpl2<I> implements GenericInterface<I> { @Override public void me ...

  4. 【CTF】CTFHub 技能树 彩蛋 writeup

    碎碎念 CTFHub:https://www.ctfhub.com/ 笔者入门CTF时时刚开始刷的是bugku的旧平台,后来才有了CTFHub. 感觉不论是网页UI设计,还是题目质量,赛事跟踪,工具软 ...

  5. Jenkins 项目类型及配置项

    0. 简介 1. Freestyle project 1)General 2)源码管理 3)构建触发器 4)构建环境 5)构建 6)构建后操作 2. Maven 项目 1)所有配置项 2)Build ...

  6. kubernetes 的API 介绍

    在API conventions doc中描述了API的全部协议. 在API Reference文档中描述了API的端点.资源类型和示例. 在Controlling API Access doc中讨论 ...

  7. 前后端分离中的无痛刷新token机制

    今天我们来说一说前后端分离中的无痛刷新token机制 博主先来分享一波福利,最近挖到的宝藏,刚开始学Java的同学看 https://www.bilibili.com/video/BV1Rx41187 ...

  8. 《机器学习Python实现_10_02_集成学习_boosting_adaboost分类器实现》

    一.简介 adaboost是一种boosting方法,它的要点包括如下两方面: 1.模型生成 每一个基分类器会基于上一轮分类器在训练集上的表现,对样本做权重调整,使得错分样本的权重增加,正确分类的样本 ...

  9. CSS新特性contain,控制页面的重绘与重排

    在介绍新的 CSS 属性 contain 之前,读者首先需要了解什么是页面的重绘与重排. 之前已经描述过很多次了,还不太了解的可以先看看这个提高 CSS 动画性能的正确姿势. OK,下面进入本文正题, ...

  10. PHP大牛笔记收藏

    PHP大牛笔记收藏 Do not use PHP references 未完,待续