rsync

作者: 北疆07 | 来源:发表于2019-06-14 10:40 被阅读0次

第一章rsync服务

1.1 rsync说明

rsync是一款开源的,快速的,多功能的,可实现全量及增量的本地或远程数据备份的优秀工具

1.2 本地备份方法

tar +定时任务

1.3 远程备份

Scp    只支持全量备份
Rsync (推荐)   增量备份

1.4 全量复制和增量复制的区别

全量:全部同步/复制、不论新旧
增量:只同步/复制新内容或有变化的内容

1.5 如何实现增量传输数据

1)利用rsync程序算法(判断数据属性信息是否一致),判断不同主机上的数据是否一致。
2)利用rsync程序算法(判断文件md5数值是否一致),判断不同主机上的数据是否一致。

1.6 利用rsync传输目录时

传输的目录后面如果存在  / == /oldboy_dir   表示将目录下面的数据内容进行全部传输
传输的目录后面如果不存在 / == /oldboy_dir   表示将目录本身和目录下面的数据内容进行全部传输

1.7 rsync的应用场景

不同服务器之间的数据备份:定时任务+rsync
存储服务器实时备份:sersync+rsync

1.8 rsync优点

01. 可以控制传输的连接数量(同一时刻)   
02. 可以实现免交互方式进行传输数据   
03. 具有单独的传输认证进制  

第二章:rsync命令工作模式及参数

2.1 检查软件是否安装

[root@backup ~]# rpm -qa rsync
rsync-3.1.2-4.el7.x86_64
CentOS 7 中rsync 默认安装
如果没有安装需要我们手动安装:yum install -y rsync

2.2 rsync 守护进程模式

编写配置文件

CentOS 7 中这个文件默认存在  我们需要在在这个文件中写入相关配置

**[root@backup ~]# vim /etc/rsyncd.conf**

###rsync_config

###created by lpc at 2019

##rsyncd.conf start##

uid = rsync

gid = rsync

fake super = yes

use chroot = no

max connections = 200

timeout = 300

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsync.lock

log file = /var/log/rsyncd.log

ignore errors

read only= false

list = false

hosts allow = 172.16.1.0/24

hosts deny = 0.0.0.0/32

auth users = rsync_backup

secrets file = /etc/rsync.password

[backup]

cmment = "backup dir by oldboy"

path =/backup

**配置文件相关说明**

PS: 只要是一个守护进程服务, 都会存在配置文件

vim /etc/rsyncd.conf

#rsync_config

#created by lpc at 2019

##rsyncd.conf start##   -- 注释信息

uid = rsync   -- 管理备份目录(属主信息是rsync)

gid = rsync       -- 管理备份目录(属组信息是rsync)

port = 873    -- 守护进程服务端口信息

fake super = yes       -- 映射为root

use chroot = no      -- 安全的配置

max connections = 200      -- 同时可以有多少客户端连接rsync服务器

timeout = 300     -- 超时时间,显示空闲连接存活时间

pid file = /var/run/rsyncd.pid --- 保存进程pid号码信息

lock file = /var/run/rsync.lock --- 真正的限制同时的连接数

log file = /var/log/rsyncd.log --- rsync程序日志文件

ignore errors         -- 在备份传输数据时,一些不严重问题先进行忽略

read only = false    -- 备份目录设置为可读可写

list = false    -- 查看模块列表

hosts allow = 172.16.1.0/24    -- 设置允许哪些主机或网段可以向备份服务器存储数据(白名单)

hosts deny = 0.0.0.0/32  -- 设置禁止哪些主机或网段可以向备份服务器存储数据(黑名单)

auth users = rsync_backup -- 认证用户

secrets file = /etc/rsync.password -- 认证用户密码文件(信息:rsync_backup:oldboy123)

[backup] -- 模块信息

comment = "backup dir by oldboy" -- 模块注释说明信息

path = /backup -- 定义一个备份目录

添加进程管理用户

useradd rsync -s/sbin/nologin -M
创建一个虚拟用户、用于管理rsync服务

创建服务所需目录

chowm -R rsync.rsync /backup
不修改用目录所有者和所属组的话无法远程备份 ,会报错:权限拒绝

设置一个密码文件,进行免密交互

配置一个密码文件、用于免交互传输
echo "rsync_backup:oldboy123" > /etc/rsync.password
修改认证文件信息/权限
chmod 600 /etc/rsync.password

启动rsync服务

[root@backup ~]# systemctl start rsyncd

2.3客户端配置

查看软件是否安装

[root@nfs01 ~]# rpm -qa |grep rsync
rsync-3.1.2-6.el7_6.1.x86_64

设置一个密码文件,并把权限设置为600

[root@nfs01 ~]# echo 123456 >/etc/rsync.password
[root@nfs01 ~]# chmod 600 /etc/rsync.password
[root@nfs01 ~]# cat /etc/rsync.password
123456
[root@nfs01 ~]# ll /etc/rsync.password
-rw------- 1 root root 7 Jun 15 10:26 /etc/rsync.password

第三章 rsync参数

a

1.  r递归复制
2.  l复制软连接
3.  t保持mtime
4.  o保持所有者不变
5.  g所属组不变
6.  p权限
7.  D复制特殊设备

v :显示同步过程

z:同步的时候进行压缩

delete(极其凶险)

1.  目标 必须和源一模一样
2.  从哪里来,到哪里去  一模一样
3.  我有,你没有,我给你。你有,我没有,你给我删了

exclide: 传输的时候排除某个文件

第四章rsync全网备份

客户端脚本设置

image.png

服务端脚本设置

image.png

相关文章

网友评论

      本文标题:rsync

      本文链接:https://www.haomeiwen.com/subject/hdkmfctx.html