day32Rsync 备份服务器

day32Rsync 备份服务器_第1张图片


rsync 复制软件应用与实现

1、rsync是什么?

英文全称Remote synchronization 

开源,高速的,数据复制(拷贝)工具

2、rsync的作用?

工作中需要定时、实时数据备份,本地服务器目录,可能是不同的机器、机房之间的数据备份,用rsync完成。

3、rsync功能特性?  七个特性

day32Rsync 备份服务器_第2张图片
v

4、全量和增量的区别

全量:全部备份

增量:差异化备份,最近增加的内容进行备份=====》效率高

5、rsync复制原理:

day32Rsync 备份服务器_第3张图片
v

6、rsync三种工作模式


1》把数据从一个地点移动到另一个地点相当于cp

2》通过加参数实现删除的功能,相当于rm命令。

[root@backup ~]# touch /null.txt

删除文件内容

[root@backup ~]# rsync -r --delete /null.txt /opt/hosts

[root@backup ~]# cat /opt/hosts


[root@backup ~]#

删除目录

[root@backup ~]# mkdir /null


[root@backup ~]# rsync -r --delete /null/ /opt/

[root@backup ~]# ls /opt/

3》查看属性信息功能,相当于ls命令。

[root@backup ~]# rsync /etc/hosts

-rw-r--r--            332 2019/04/12 11:24:41 hosts


第二种模式:远程shell模式

借助类似ssh隧道传输数据,适合不同的机器

异地拷贝,相当于scp

强调一个重点:适合rsync


       ********         null和null/ 区别,null是目录和目录下的内容,

                           null/只是目录下的内容,不含本身。


拉门 推门 思考:

pull,拉:从远端拉取到本地。

语法:

rsync     [OPTION...] [USER@]HOST:SRC...             [DEST]

rsync命令 参数选项 [认证用户]@[主机地址]:[源路径] 本地路径

语法:

push,推:从本地推到远端

rsync     [OPTION...]  SRC... [USER@]HOST:[DEST]       

rsync命令 参数选项 本地路径 [认证用户]@[主机地址]:[目标路径]


pull,拉:从远端拉取到本地。

rsync -avz [email protected]:/opt/hosts /opt

rsync -avz -e "ssh -p 22" [email protected]:/opt/hosts /opt

push,推:从本地推到远端。

rsync -avz /etc/hosts [email protected]:/opt/

rsync -avz /etc/hosts -e 'ssh -p 22' [email protected]:/opt/


第三种模式:rsync守护进程模式

首先要搭建rsync服务端(要有守护进程),

rsync服务模式:开启后台进程,接受别人访问

7、rsync命令参数

rsync命令参数:

-v, --verbose  显示输出过程

-z, --compress 压缩

-a, --archive  多参数集合(-rtopgDl)

-r, --recursive 递归

-t, --times    保持修改时间属性

-o, --owner    保持属主不变

-p, --perms    保持权限不变

-g, --group    保持用户组不变

-l, --links    保持拷贝软连接

-q, --quiet    安静的拷贝

--bwlimit=KBPS 限制I/O带宽,KBytes per second。

--delete      删除

--exclude      排除

--exclude-from 从文件中排除

企业常用参数组合:-avz或者-vzrtopg

day32Rsync 备份服务器_第4张图片

8、rsync守护进程模式应用实践

(1)以下操作都是在backup服务器

1)安装

[root@backup ~]# rsync --version

rsync  version 3.1.2  protocol version 31

[root@backup ~]# yum install rsync(不需要)

2)配置配置文件/etc/rsyncd.conf

备份

cp /etc/rsyncd.conf{,.ori}

cat>/etc/rsyncd.conf<

#rsync_config_______________start

#created by oldboy

#site: http://www.oldboyedu.com

uid = rsync

gid = rsync

use chroot = no

fake super = yes

max connections = 200

timeout = 600

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]

comment = welcome to oldboyedu backup!

path = /backup/

EOF

man rsync 查命令的参数

man rsyncd.conf 查配置参数

https://www.samba.org/ftp/rsync/rsync.html

创建用户和备份目录

[root@backup ~]# useradd rsync

[root@backup ~]# id rsync

uid=1001(rsync) gid=1001(rsync) 组=1001(rsync)

[root@backup ~]# mkdir -p /backup

[root@backup ~]# chown -R rsync.rsync /backup/

[root@backup ~]# ls -ld /backup/

drwxr-xr-x 2 rsync rsync 6 4月  15 12:12 /backup/

day32Rsync 备份服务器_第5张图片
day32Rsync 备份服务器_第6张图片

3、启动和检查

rsync --daemon(c6及以前)

systemctl start rsyncd

systemctl enable rsyncd

systemctl status rsyncd

[root@backup ~]# ps -ef|grep sync|grep -v grep  #检查进程

root       7521      1  0 11:39 ?        00:00:00 /usr/bin/rsync --daemon --no-detach

[root@backup ~]# netstat -lntup|grep 873 #检查端口

tcp        0      0 0.0.0.0:873             0.0.0.0:*               LISTEN      7521/rsync

tcp6       0      0 :::873                  :::*                    LISTEN      7521/rsync

[root@backup ~]# lsof -i :873 #检查端口

COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

rsync   7521 root    3u  IPv4  41439      0t0  TCP *:rsync (LISTEN)

rsync   7521 root    5u  IPv6  41440      0t0  TCP *:rsync (LISTEN)


day32Rsync 备份服务器_第7张图片

4、配置密码文件

[root@backup ~]# echo "rsync_backup:oldboy" > /etc/rsync.password

[root@backup ~]# chmod 600 /etc/rsync.password

[root@backup ~]# cat /etc/rsync.password

rsync_backup:oldboy

[root@backup ~]# ls -l /etc/rsync.password

-rw------- 1 root root 20 4月  15 11:51 /etc/rsync.password


方法1:认证密码文件

[root@nfs01 ~]# echo "oldboy" > /etc/rsync.password

[root@nfs01 ~]# chmod 600 /etc/rsync.password

[root@nfs01 ~]# cat /etc/rsync.password

oldboy

[root@nfs01 ~]# ls -l /etc/rsync.password

-rw------- 1 root root 7 4月  15 11:55 /etc/rsync.password

方法2:

[root@nfs01 ~]# echo ' export RSYNC_PASSWORD=oldboy' >>/etc/bashrc

[root@nfs01 ~]# tail -1 /etc/bashrc

export RSYNC_PASSWORD=oldboy

[root@nfs01 ~]# . /etc/bashrc

[root@nfs01 ~]# echo $RSYNC_PASSWORD

oldboy

客户端完成nfs01配置完成


守护进程模式客户端rsync的命令语法:

配置服务器端守护进程,实现数据传输:

day32Rsync 备份服务器_第8张图片
day32Rsync 备份服务器_第9张图片
v

错误1:

[root@nfs01 ~]# rsync -avz /etc/hosts [email protected]::backup --password-file=/etc/rsync.password

@ERROR: invalid uid rsync

rsync error: error starting client-server protocol (code 5) at main.c(1648) [sender=3.1.2]

解答:

[root@backup ~]# useradd rsync

[root@backup ~]# id rsync

uid=1001(rsync) gid=1001(rsync) 组=1001(rsync)

[root@backup ~]# mkdir -p /backup

[root@backup ~]# chown -R rsync.rsync /backup/

         chown          -R,            --recursive               递归处理所有的文件及子目录

[root@backup ~]# ls -ld /backup/

drwxr-xr-x 2 rsync rsync 6 4月  15 12:12 /backup/

错误2:

[root@nfs01 ~]# rsync -avz /etc/hosts [email protected]::backup --password-file=/etc/rsync.password

sending incremental file list

hosts

rsync: chgrp ".hosts.YDuTjO" (in backup) failed: Operation not permitted (1)

sent 223 bytes  received 124 bytes  694.00 bytes/sec

total size is 332  speedup is 0.96

rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1178) [sender=3.1.2]

解答:增加如下参数到/etc/rsyncd.conf

fake  super  = yes #不用root用户也可以存储文件的完整属性。

This allows the full attributes of a file to  be  stored  without having to have the daemon actually running as root.

[root@backup ~]# grep fake /etc/rsyncd.conf

fake super = yes

改完配置,要重启服务:

[root@backup ~]# systemctl restart rsyncd

在测试:成功

[root@nfs01 ~]# rsync -avz /etc/hosts [email protected]::backup --password-file=/etc/rsync.password

sending incremental file list

hosts

sent 89 bytes  received 49 bytes  276.00 bytes/sec

total size is 332  speedup is 2.41

rsync -avz /etc [email protected]::backup --password-file=/etc/rsync.password

服务端检查:

[root@backup ~]# ls /backup/

hosts

[root@backup ~]# ls /backup/

etc  hosts

你可能感兴趣的:(day32Rsync 备份服务器)