rsync存储服务器-全网备份

一、rsync功能介绍: 复制 (同步)的工具



全量及增量

本地和远程

Rsync英文全称为Remotesynchronization

本地复制cp(全量备份),rsunc也有此功能(增量)

远程复制scp(全量备份),rsync也有此功能(增量)

删除工具rm,rsync也有此功能



二、 Rsync的特性



支持拷贝特殊文件如链接文件,设备等

可以有排除指定文件或目录同步的功能,相当于打包命令tar的排除功能

可以做到保持原文件或目录的权限、时间、软硬链接、属主、组等所有属性均不改变  - p

可以实现增量同步,即只同步发生变化的数据,因此数据传输效率很高(tar-N)

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

可以通过socket(进程方式)传输文件和数据(服务端和客户端)*****

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

注:cp scp rm仅仅是命令

rsync除了作为命令使用,还可以服务使用(持续运行一个进程)

client/server;客户端/服务器

brower/server:浏览器/服务器



三、 rsync 的三种工作模式:



1、用参数选项说明:



-v,--verhose 详细模式输出,传输时的进度等信息

-z,--compress 传输时进行压缩以提高传输效率,--compress-level=NUM可按级别压缩

-a,--archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于–rtopgD1

===========================================================================

-r,--recursive对子目录以递归模式,即目录下的所有目录都同样传输,注意是小写r

-t,--time 保持文件时间信息

-o,-owner 保持文件属主信息

-p,--perms 保持文件权限

-g,--group 保持文件属组信息

-p,--progress 显示同步的过程及传输时的进度等信息

-D,--devices 保持设备文件信息

-i,-links 保留软连接

-e,--rsh=COMMAND 使用的信道协议,指定替代rsh的shell。例如:ssh

--exclude=PATTERN 指定排除不需要传输的文件模式(和tar参数一样)

--exclude-from=file(文件名所在的目录文件)(和tar参数一样)

--bwlimit-RATE  limit socket I/O bandwidth (限速功能)



2、本地复制/删除:



本地复制:用法类似cp  拷贝文件或目录(copy) -i操作前确认,-p保持属性,-r目录。-a(dpr)

[[email protected] opt]# rpm -qa rsync

rsync-3.0.6-12.el6.x86_64

[[email protected] opt]# rsync -v /etc/hosts /opt/d

hosts

sent 227 bytes  received 31 bytes  516.00 bytes/sec

total size is 158  speedup is 0.61

[[email protected] opt]# cat d

127.0.0.1   localhost localhost.localdomain localhost4localhost4.localdomain4

::1         localhost localhost.localdomainlocalhost6 localhost6.localdomain6

本地删除:让null目录的内容和/tmp目录一样(删除原理)

rsync -avz --delete /null/ /tmp/

rsync -avz --delete /null/ /



3、 通过通道(ssh,rsh)拷贝(异机)



push:推动

rsync –avz /opt [email protected]:/tmp/

pull:从服务器拽

rsync –avz [email protected]:/tmp//tmp/

借助SSH通道(加密传输):

push:推动

rsync –avz –e ‘ssh –p 22’ /opt [email protected]:/tmp/

pull:从服务器拽

rsync –avz –e ‘ssh –p 22’[email protected]:/tmp//tmp/

注:将来可以做密匙认证,传输时候可以不用密码了



4、服务模式(daemon)*****



client                 /server

客户端                 /服务器

定角色:

client:nfs01,m01     server:backup



1)服务端操作:



[[email protected] ~]# cat /etc/rsyncd.conf

#rsync_config_________________________start

#created by oldboy 15:01 2016-06-04

#rsyncd.conf start#

uid = rsync                                #==>用户 远端的命令使用rsync访问共享的目录

gid = rsync                                #==>用户组

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             #==>rsync的日志文件

[backup]                                   #==>模块名称

path = /backup                             #==>服务器端提供访问的目录

ignore errors                              #==>忽略错误信息

read only = false                           #==>客户端是否可上传

list = false                                #==>不能列表(不能ls)

hosts allow =172.16.1.0/24                 #==>允许那些服务器连接

(这俩host二者留其一就可以;不然外网IP也能推送数据过来)

hosts deny =0.0.0.0/32                     #==>拒绝那些机器连接

auth users = rsync_backup                   #==>虚拟用户

secrets file = /etc/rsync.password          #==>存放虚拟账号的用户和密码

#rsync_config_______________end

===================================================================

===================================================================

[[email protected] ~]# mkdir /backup –p

==================================================
[[email protected] ~]# id rsync
id: rsync:无此用户
[[email protected] ~]# useradd -s /sbin/nologin rsync -M
[[email protected] ~]# id rsync
uid=501(rsync) gid=501(rsync) 组=501(rsync)

========================================================

[[email protected] ~]# ll -ld /backup
drwxr-xr-x 2 root root 4096 9月  23 18:52 /backup
[[email protected] ~]# chown -R rsync.rsync /backup/
[[email protected] ~]# ll -ld /backup               
drwxr-xr-x 2 rsync rsync 4096 9月  23 18:52 /backup

================================================================
[[email protected] ~]# ll /etc/rsync.password
ls: 无法访问/etc/rsync.password: 没有那个文件或目录
[[email protected] ~]# echo "rsync_backup:oldboy" >/etc/rsync.password
[[email protected] ~]# ll /etc/rsync.password
-rw-r--r-- 1 root root 20 9月  23 18:58 /etc/rsync.password
[[email protected] ~]# chmod 600 /etc/rsync.password
[[email protected] ~]# ll /etc/rsync.password       
-rw------- 1 root root 20 9月  23 18:58 /etc/rsync.password

===================================================================

[[email protected] ~]# rsync --daemon
[[email protected] ~]# netstat -lntup|grep rsync
tcp        0      0 0.0.0.0:873                 0.0.0.0:*                   LISTEN      3649/rsync          
tcp        0      0 :::873                      :::*                        LISTEN      3649/rsync



2)客户端操作:



[[email protected] ~]# echo "oldboy" >/etc/rsync.password

[[email protected] ~]# ll /etc/rsync.password

-rw-r--r-- 1 root root 7 9月  23 19:04 /etc/rsync.password

[[email protected] ~]# chmod 600 /etc/rsync.password

[[email protected] ~]# ll /etc/rsync.password

-rw------- 1 root root 7 9月  23 19:04 /etc/rsync.password

推送命令:
[[email protected] ~]# rsync -avz /tmp/ [email protected]::backup --password-file=/etc/rsync.password 
sending incremental file list

sent 920 bytes  received 13 bytes  88.86 bytes/sec
total size is 698  speedup is 0.75
[[email protected] ~]# touch /tmp/oldboy.txt
[[email protected] ~]# rsync -avz /tmp/ [email protected]::backup --password-file=/etc/rsync.password 
sending incremental file list
./
oldboy.txt

sent 979 bytes  received 35 bytes  96.57 bytes/sec
total size is 698  speedup is 0.69



四、#####总结:”rsync服务端与客户端配置步骤



***====Rsync服务端:



1、查看rsync安装包

rpm -qa rsync

2、添加rsync服务的用户,管理本地目录的

useradd -s /sbin/nologin -M rsync

id rsync

3、生成rsyncd.conf配置文件

vi /etc/rsyncd.conf放入事先准备的配置。man rsyncd.conf去查(http://www.samba.org/ftp/rsync/rsyncd.conf.html)。

4、根据rsyncd.conf的auth users配置账户,远程连接的。

并根据secrets file参数生成密码文件

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

cat /etc/rsync.password

5、为密码文件配置权限

chmod 600 /etc/rsync.password

ls -l /etc/rsync.password

6、创建共享的目录并授权rsync服务管理

mkdir /backup -p

chown -R rsync.rsync /backup

如果没有/backup目录,就会chdirfailed。

7、启动rsync服务并检查

rsync --daemon

ps -ef|grep rsync|grep -v grep

lsof -i :873

8、加入开机自启动

echo "/usr/bin/rsync --daemon">>/etc/rc.local

tail -1 /etc/rc.local

(over)



***===rsync客户端



1、生成连接服务器需要的密码文件

echo "oldboy" >/etc/rsync.password

cat /etc/rsync.password

2、为密码文件配置权限

chmod 600 /etc/rsync.password

ls -l /etc/rsync.password

3、同步文件

推送:

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

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

拉取:

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

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

提示:上述的backup为模块名,不是路径。



五、 Rsync排错思路



1、 Rsync守护进程服务传输数据排错思路:

※rsync服务器拍错思路:

1)查看rsync服务配置文件路径是否正确,正确的默认路径为:/etc/rsyncd.conf

2)查看配置文件里host allow,host deny,允许的ip网段是否是允许客户端访问的ip网段

3)查看配置文件中path参数里的路径是否存在,权限是否正确(正常应为配置文件中的UID参数对应的属主和组)

4)查看rsync服务是否启动。查看命令为:ps –ef|grep rsync。端口是否在netstat –lnt|grep 873

5)查看iptables防火墙和selinux是否开启允许rsync服务通过,也可以考虑关闭

6)查看服务器rsync配置的密码文件是否为600的权限,密码文件格式是否正确,正确格式为用户名:密码,文件路径和配置文件里的secrectfiles参数对应

7)如果是推送数据,要查看下,配置rsyncd.conf文件中用户是否对模块下目录有可读写的权限

2、 ※Rsync客户端排错思路

1)查看客户端rsync配置的密码文件是否为600的权限,密码文件格式是否正确,注意:仅需要有密码,并且和服务端的密码一致

2、用telnet连接rsync服务器ip地址873端口,查看服务是否启动(可测试服务端防火前是否阻挡)telnet 10.0.0.141  873

3)客户端执行命令时rsync –avzP [email protected]::oldboy/test/test/ --password-file=/etc/rsync.password

注:此命令细节牢记,尤其10.0.0.41::oldboy/test/处的双冒号及随其后的oldboy为模块名称

3、自我模拟排错实践

不正规操作,自己排查熟悉操作流程



六、Rsync优缺点



rsync优点:

1、    增量备份,支持socket(daemon),集中备份(支持推拉,都是以客户端为参照物)

2、    远程Shell通道模式还可以加密(SSH)传输,socket(daemon)需要加密传输,可以利用vpn服务或ipsec服务

rsync缺点:

1、    大量小文件实时同步的时候,比对时间较长,有的时候,同步过程中,rsync进程可能会停止,僵死

2、    同步大文件,10G这样的大文件有时也会出问题,中断。未完整同步前,是隐藏文件,可以通过续传(--partial)等参数实现传输

3、    一次性远程拷贝可以用scp,大量小文件要达成一个包再拷贝

时间: 2024-10-15 15:14:10

rsync存储服务器-全网备份的相关文章

最最基础综合架构搭建部署过程——rsync与全网备份

1.rsync服务1.1备份服务的作用将数据服务器里的数据统一存储备份到一台服务器1.2.rsync--服务的安装部署rsync的部署过程为服务端和客户端1.2.1.服务端部署第一个历程:安装软件程序Yum install -y rsync第二个历程:编写配置文件vim /etc/rsyncd.conf第三个历程:创建虚拟用户信息Useradd -M -s /sbin/nologin rsync第四个历程:创建密码文件echo "rsync_backup:oldboy123" >

Rsync 网站全网备份

某公司里有一台Web服务器,里面的数据很重要,但是如果硬盘坏了,数据就会丢失,现在领导要求你把数据做备份,这样Web服务器数据丢失可以进行恢复.要求如下: 每天晚上00点整在Web服务器A上打包备份系统配置文件.网站程序目录及访问日志并通过rsync命令推送到服务器B上备份保留(备份思路可以是先在本地按日期打包,然后再推到备份服务器B上). 问题一.实现把Web服务器A数据备份到服务器B. 具体要求如下: 1)Web服务器A和备份服务器B的备份目录必须都为/backup. 2)系统配置文件包括但

rsync实现全网备份案例

全网备份案例 某公司里有一台web服务器,里面的数据很重要,但是如果硬盘坏了,数据就会丢失,现在领导要求你把数据在其他机器上做一个周期性定时备份. 要求:每天晚上12点整在web服务器A(web01)上打包备份网站程序目录并通过rsync命令推送到服务器B(backup)上备份保留(备份思路可以是先在本地按日期打包,再利用rsync推到备份服务器上)具体要求:1)web服务器A和备份服务器B的备份目录必须都为/backup2)web服务器A和站点目录假定为(/var/www/html)3)web

网站集群架构实战(LVS负载均衡、Nginx代理缓存、Nginx动静分离、Rsync+Inotify全网备份、Zabbix自动注册全网监控)--技术流ken

前言 最近做了一个不大不小的项目,现就删繁就简单独拿出来web集群这一块写一篇博客.数据库集群请参考<MySQL集群架构篇:MHA+MySQL-PROXY+LVS实现MySQL集群架构高可用/高性能-技术流ken>下面是项目的一些简单介绍. WEB集群项目简介 随着网站访问量的激增,势必会导致网站的负载增加,现需求搭载一套高性能,高负载,高可用的网站集群架构以保障网站的持续.高效.安全.稳定的运行. 针对以上需求,我们采用了如下的技术: 使用负载均衡技术来实现网站请求的调度分发,减小后端服务器

rsync+inotify实时备份加nfs挂载实战

因公司近期业务要求需要搭建一套服务具体要求如下图: 1.基本备份要求 已知 3 台服务器主机名分别为A(web01).B(backup) .C(nfs01) 要求: 每天晚上 0 00 点整在 b Web 服务器 A A 上 打包 备份系统配置文件.网站程序目录及访 问日志并通过 c rsync 命令推送备份服务器 B B 上备份保留(备份思路可以是先在本地按日期 打包,然后再推到备份服务器 B B 上). 具体要求如下: 1)Web 服务器 A 和备份服务器 B 的备份目录必须都为/backu

rsync全网备份

要求: 1.基本备份要求已知3 台服务器主机名分别为web01.backup .nfs01,主机信息见下表:服务器说明外网IP(NAT) 内网IP(NAT) 主机名称nginx web 服务器10.0.0.8/24 172.16.1.7/24 web01NFS 存储服务器10.0.0.31/24 172.16.1.31/24 nfs01rsync 备份服务器10.0.0.41/24 172.16.1.41/24 backup要求:每天晚上00 点整在Web 服务器上打包备份系统配置文件.网站程序

rsync 全网备份

rsync全网备份 1.首先检查服务器中是否有rsync服务 查看方式使用rpm -qa|grep "rsync" 进行查看是否已存在, 如果不存在就是用yum install rsync -y 进行下载安装 2.将备份服务器端的rsync进程启动. 启动方式:rsync --daemon 然后进行查看进程是否开启 ps -ef |grep "rsync" 3.创建虚拟用户reync,并不指定家目录 创建方式 useradd -s /sbin/nologin/ -M

linux运维、架构之路-全网备份项目方案

1.项目需求说明 某公司有多台服务器,里面的数据很重要,如果磁盘坏了,数据就会丢失,所以公司要求把重要服务器数据备份以便出现问题时可以进行恢复,要求:每天晚上00点整在所有服务器上打包备份系统配置文件.网站程序目录及访问日志并通过rsync命令推送备份服务器backup上备份保留(备份思路可以是先在本地按日期打包,然后再推到备份服务器backup上) 2.具体需求规划 所有服务器的备份目录必须一致 /backup/ 要备份的系统配置文件包括但不限于: 一.定时任务服务器的配置文件(/var/sp

linux 全网备份项目

linux全网备份项目 要求 1.基本备份要求 已知 3 台服务器主机名分别为 web01.backup .nfs01,主机信息见下表: 服务器说明 外网IP(NAT) 内网IP(NAT) 主机名称      nginx web 服务器 10.0.0.8/24 172.16.1.8/24 web01 NFS存储服务器 10.0.0.31/24 172.16.1.31/24 nfs01 rsync备份服务器 10.0.0.41/24 172.16.1.41/24 backup  要求:每天晚上 0