4-15(Rsync服务搭建总结)

Rsync服务 yum -y install rsync

1、什么是Rsync?

全称 Remote synchronization rsync

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

2、Rsync的作用

工作中需要数据备份。不同机器不同机房之间的数据备份。

都可以用Rsync完成。

3、Rsync功能特性

    1.支持拷贝普通文件与特殊文件,如链接文件,设备文件等。

2.支持排除指定文件或目录同步的功能,相当于打包命令tar的排除功能。

3.可以做到保持源文件或目录权限、时间、软硬链接、属主、组等所有属性不变

4.可实现增量复制,即只复制发生变化的数据,数据传输效率高

5.可以使用rcp,rsh,ssh等方式来配合隧道加密传输文件(rsync本身不对数据加密)

6.可以使用socket(进程方式)传输文件和数据(C/S)

7.支持匿名或认证(无需系统用户)进程模式传输,安全的进行数据备份及镜像。

增量复制 :只复制发生变化的数据。

全量复制 :全部复制

4.Rsync软件复制原理介绍。

quick check算法,只对改变部分复制,根据大小属性变化。

2.x比对差异后复制,3.x一边比对一边复制。

5.Rsync三种工作模式介绍

5.1本地(local)

rsync是一个命令

命令操作:rsync命令

        1.把数据从一个地方复制到另一个地方,相当于cp。

保持属性    rsync -zrtopg /1 /2

-r 让/b和/null保持一致。

ls -lhi

            2.通过加参数实现删除,相当于rm。

rsync --delete /null  /1

3.查看属性信息功能,相当于ls。

rsync 1

5.2远程shell模式

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

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

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

rsync -avz -e "ssh -p 22" [email protected]:/root/2      /root

push,推:向外。从本地推去到远端。

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

            rsync -avz -e "ssh -p 22" /root/ [email protected]:/root/2

rsync*****

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

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

5.3rsync 守护进程模式

首先要搭建rsync服务端(要有守护进程),然后才能在客户端实现推拉数据。

工作中的重要模式*****

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

6.rsync命令参数

-v  显示输出过程

-z  压缩

-a  -rgDl top

-r  递归

-t  保持修改时间属性

-o  保持属主不变

-p  保持权限不变

-g  保持用户组不变

-l  保持拷贝软链接

-q  安静的拷贝

-e  使用的传输协议

-D  保持设备文件信息

--delete  删除

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

--exclude 排除

    --exclude-from 从文件中排除

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

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

8.1安装 yum -y install rsync

8.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                      ==》》安全功能,数据是否锁定到备份目录

max connections = 200                ==》》同时多少客户端访问。

timeout = 600                        ==》》超时时间

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

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  ==》》存放密码的文件  格式  用户:密码  权限600

[backup]                            ==》》[模块名]远程访问使用模块名访问

comment = welcome to oldboyedu backup! 》》说明注释

path = /backup/                      ==》》服务端用户备份的目录,用户和组,rsync.rsync

EOF

[root@backup ~]# useradd rsync

[root@backup ~]# id rsync

uid=1000(rsync) gid=1000(rsync) groups=1000(rsync)

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

[root@backup ~]# chown -R rsync.rsync /backup/  -R 修改其及其下的子文件。

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

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

8.3启动和检查

systemctl start  rsyncd  启动服务

systemctl stop    rsyncd  停止服务

systemctl enable  rsyncd  开启开机自启动服务

systemctl disable rsyncd  关闭开机自启动服务

systemctl  restart rsyncd  重启服务

systemctl status  rsyncd  查看服务状态

        ps -ef|grep sync|grep -v grep #检查进程

netstat -lntup|grep 873检查端口

lsof -i :873      列出873端口网络连接

    -i :rsync    查看网络连接

    -p pid      进程打开状态

8.4配置密码文件

echo "rsync_backup:oldboy">>/etc/rsync.password

chmod 600 /etc/rsync.password

1.配置/etc/rsyncd.conf

2.创建用户

3.创建备份目录

3.配置密码文件 /etc/rsync.password

Rsync服务端配置完成。

(2)客户端配置

方法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 ~]# 断开重连,  . source

[root@nfs01 ~]# echo $RSYNC_PASSWORD

oldboy

Rsync客户端配置完成。

(3)守护进程模式,客户端rsync的命令语法

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

1、服务器端守护进程  2、客户端执行命令

拉门、推门、思考:

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

语法1:            Rsync_backup            backup

rsync命令 参数选项 [虚拟用户]@[主机地址]::[模块名]          本地路径

语法2:

rsync命令 参数选项 rsync://[虚拟用户]@[主机地址]/[模块名]    本地路径

push,推:向外。从本地推去到远端。

语法1

rsync命令 参数选项  本地路径  [虚拟用户]@[主机地址]::[模块名]   

rsync -avz /etc [email protected]::backup

--password-file=/etc/rsync.password

            语法2

            rsync命令 参数选项  本地路径  rsycn://[虚拟用户]@[主机地址]/[模块名]

(4)测试成果。

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

sending incremental file list

hosts

sent 223 bytes  received 43 bytes  532.00 bytes/sec

total size is 332  speedup is 1.25

man rsync    查命令的参数

man rsync.conf查配置参数

tar zcfP /var/spool/cron/root  /etc/rc.local /server/scripts

/var/html/www  /app/logs      / 

总结

1.安装 yum -y install rsync  开启服务等

服务端

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

path = /backup/                      ==》》服务端用户备份的目录,用户和组,rsync.rsync

secrets file = /etc/rsync.password  ==》》存放密码的文件  格式  用户:密码  权限600

[backup]                            ==》》[模块名]远程访问使用模块名访问

等等

3.创建rsync用户,创建/backup(备份用的目录),修改其属主属组为rsync

4.配置密码文件

echo "rsync_backup:oldboy">>/etc/rsync.password

chmod 600 /etc/rsync.password

客户端

1.修改密码环境变量。

echo ' export RSYNC_PASSWORD=oldboy' >>/etc/bashrc

. /etc/bashrc  重置环境

echo $RSYNC_PASSWORD  检查

oldboy

成果:

rsync -az /backup/  [email protected]::backup  把本身/backup的内容推到rsync服务器的backup里。

rsync -az  [email protected]::backup /backup    把服务器的内容拉到自己的/backup里。

你可能感兴趣的:(4-15(Rsync服务搭建总结))