rsync数据备份

一 基本概念

1.1 rsync介绍

rsync,remote synchronize,是一款实现远程同步功能的软件,在同步文件的同时,可以保持原来文件的权限,时间,软硬链接等附加信息。Rsync是使用rsync算法提供一个客户机和远程文件服务器的文件同步的快速算法,而且可以同步ssh的方式来传输

rsync特点

  可以镜像保存整个目录和文件系统

  可以很容易做到保持原来文件的权限,时间,软硬链接等

  无须特殊权限即可安装

  快速:第一次同步时,rsync会复制全部的内容,但在下一次指挥复制修改过的文件

  压缩传输:rsync在传输数据的过程中可以实行压缩以及解压缩操作,因此可以使用很少的宽带

  安全:可以使用奢scp,ssh等方式来传输文件,当然也可以使用docket连接

  支持匿名传输,以方便进行网站镜像

  选择性保持:符号链接,硬链接,文件属性,权限。时间等

1.2  rsync与scp比较

  scp无法大备份大量数据,类似windows的复制

  rsync是变量复制,边统计,边比较

1.3 常见的备份类型

  完整备份,差异备份,增量备份

  完成备份:每次别分都是从备份源将所有的文件或者目录备份到本地

  差量备份:备份上次完全备份以后有变化的数据,他针对的是上次的完全备份,他备份过程中部清除存档

  增量备份:备份上次备份以后有变化的数据,会清除存档属性

1.4 运行模式和端口

  采用C/S模式,点到点的传输,端口873

  发起端:负责发起rsync同步操作的客户机叫做发端,通知服务器要备份数据

  备份源:负责相应的客户机,rsync同步操作的服务器所在的备份源,需要备份的服务器

  服务端:运行rsyncd服务,需要备份的服务器

  客户端:存放备份数据

1.5 数据同步的方式  

  推push:一台主机负责把数据传输给其他主机,服务器开销很大,比较适合后端服务器比较少的情况‘

  拉pull:所有主机找一台主机拉数据,可能导致数据缓慢

  推:目的主机配置为rsync服务器,源主机周期的使用rsync命令要把同步的目录推过去

  拉:源主机配置问rsync服务器,目的主机周期的使用rsync命令要把同步的目录拉过来,两种方案,都有对应的命令来实现

使用rsync来同步,首先通过xineted监听873端口,如果rsync进来的是873端口,那么xinetd就会通知他所管辖的rsync服务来回应,接下来就是rsync之间的通讯

二 安装rsync服务

2.1 下载解压包

[[email protected] ~]# cd /usr/local/src/

[[email protected] src]# wget https://download.samba.org/pub/rsync/src/rsync-3.1.3.tar.gz

[[email protected] src]# tar -xf rsync-3.1.3.tar.gz

[[email protected] src]# cd rsync-3.1.3

安装之前,必须安装GCC编译器

2.2 编译安装

[[email protected] rsync-3.1.3]# ./configure prefix=/usr

[[email protected] rsync-3.1.3]# make

[[email protected] rsync-3.1.3]# make install

2.3 修改配置文件

Rsync的配置文件主要有三个,rsyncd.conf主配置文件、rsyncd.secret密码文件、rsyncd.motd服务信息

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

# /etc/rsyncd: configuration file for rsync daemon mode
# See rsyncd.conf man page for more options.
# configuration example:
uid = rsync
gid = rsync
use chroot = no
read only = false
#limit access to private LANs
hosts allow = 172.19.18.0/255.255.255.0
hosts deny = *
max connections = 5
pid file = /var/run/rsyncd.pid
secrets file = /etc/rsyncd.secrets
motd file = /etc/rsyncd.motd
log file = /var/log/rsync.log
transfer logging = yes
log format = %t %a %m %f %b
syslog facility = local3
timeout = 300
auth users = rsync_backup
[wiki_test]
path = /backup/wiki_test
list=yes
ignore errors
auth users = rsync_backup
hosts allow = 172.19.18.39/32
hosts deny = *      

[[email protected] ~]# useradd rsync -s /sbin/nologin  -M

[[email protected] rsync-3.1.3]# mkdir  /backup/wiki_test

[[email protected] ~]# chown -R rsync /backup/

[[email protected] ~]# ll -d /backup/

[[email protected] rsync-3.1.3]# vim rsyncd.secrets

rsync_backup:RWDshWFN8aUd7yGP

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

[[email protected] rsync-3.1.3]# chmod 400 rsyncd.secrets

设定rsyncd.motd文件

他是定义服务器信息的,也就是用户登录信息,

[[email protected] rsync-3.1.3]# systemctl restart rsyncd

[[email protected] ~]# netstat -ntlp|grep 873

服务端配置完成

三 配置客户端

客户端centos6.6:172.19.18.39

3.1 安装服务

[[email protected] ~]# cd /usr/local/src/

[[email protected] src]# wget https://download.samba.org/pub/rsync/src/rsync-3.1.3.tar.gz

[[email protected] src]# tar -xf rsync-3.1.3.tar.gz

[[email protected] src]# cd rsync-3.1.3

[[email protected] rsync-3.1.3]# ./configure --prefix=/usr

[[email protected] rsync-3.1.3]# make

[[email protected] rsync-3.1.3]# make install

[[email protected] rsync-3.1.3]# mkdir /etc/rsyncd

[[email protected] rsync-3.1.3]#  touch /etc/rsyncd/rsyncd.conf

[[email protected] rsync-3.1.3]# touch /etc/rsyncd/rsyncd.secrets

[[email protected] rsync-3.1.3]# chmod 0600 /etc/rsyncd/rsyncd.secrets

[[email protected] rsync-3.1.3]# cat /etc/rsyncd/rsyncd.secrets

RWDshWFN8aUd7yGP

3.2 启动服务,并作相关配置

[[email protected] rsync-3.1.3]# /usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf

[[email protected] home]# mkdir /home/tmp

[[email protected] home]# cd /home/tmp

[[email protected] tmp]# touch test1.txt

[[email protected] tmp]# touch test.txt

3.3 验证

[[email protected] tmp]# rsync -avz --delete --password-file=/etc/rsyncd/rsyncd.secrets  /home/tmp/  [email protected]::wiki_test

四 另添加一个新的模块和新的客户端测试

4.1 配置服务端,添加模块

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

# /etc/rsyncd: configuration file for rsync daemon mode
# See rsyncd.conf man page for more options.
# configuration example:
uid = rsync
gid = rsync
use chroot = no
read only = false
#limit access to private LANs
hosts allow = 172.19.18.0/255.255.255.0
hosts deny = *
max connections = 5
pid file = /var/run/rsyncd.pid
secrets file = /etc/rsyncd.secrets
motd file = /etc/rsyncd.motd
log file = /var/log/rsync.log
transfer logging = yes
log format = %t %a %m %f %b
syslog facility = local3
timeout = 300
auth users = rsync_backup
[wiki_test]
path = /backup/wiki_test
list=yes
ignore errors
auth users = rsync_backup
hosts allow = 172.19.18.39/32
hosts deny = *
[test]
path = /backup/test
list=yes
ignore errors
auth users = rsync_backup
hosts allow = 172.19.18.202/32
hosts deny = *  

[[email protected] ~]# mkdir /backup/test

[[email protected] ~]# chown -R rsync /backup/

[[email protected] ~]# systemctl restart rsyncd

4.2配置另一个客户端

客户端使用centos7.2.安装rsync使用和7相同的安装方法

[[email protected] ~]# ip addr

[[email protected] ~]# ll /data/

4.3 验证

[[email protected] ~]# rsync -avzx  --password-file=/etc/rsyncd.secret  /data/  [email protected]::test

[[email protected] ~]# touch /backup/test/test2.txt

[[email protected] ~]# rsync -avzx  --password-file=/etc/rsyncd.secret    [email protected]::test   /data/

[[email protected] ~]# ll /data

4.4 关于delete的参数

在客户端向服务端同步数据,使用delete参数,就会对比两个目录,如果存在差异文件,如果是推,就会删除服务端存在而客户端不存在的文件,同时发送自己存在而服务端没有的文件,如果是拉,就会删除自己存在而服务端不存在的文件,同时拉取服务端存在而自己不存在的文件

[[email protected] ~]# touch /data/test4.txt

[[email protected] ~]# ll /data

[[email protected] ~]# rsync -avzx  --delete  --password-file=/etc/rsyncd.secret    [email protected]::test   /data/

[[email protected] ~]# ll /data

[[email protected] ~]# touch /backup/test/test3.txt

[[email protected] ~]# ls /backup/test/

[[email protected] ~]# rsync -avzx  --delete  --password-file=/etc/rsyncd.secret  /data/   [email protected]::test

[[email protected] ~]# ll /backup/test/

验证完成!

原文地址:https://www.cnblogs.com/zyxnhr/p/11117671.html

时间: 2024-10-11 00:57:23

rsync数据备份的相关文章

开源服务专题之-------rsync数据备份

RSYNC是Remote Sync 远程同步的简称,与SCP的比较,SCP= 无法备份大量数据,类似windows的复制,而rsync=边复制 ,边统计,边比较,可以备份大量数据.可以镜像保存整个目录树和文件系统.可以很容易做到保持原来文件的权限.时间.软硬链接等等.无须特殊权限即可安装.快速:第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件.压缩传输:rsync 在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽.安全:可以使用scp.ssh等方式来传输文

rsync数据备份方案

最近整理了下公司的数据备份情况.以下是部分操作的过程 1.rsync数据备份,具体备份过程就不详细介绍.数据都备份在/bakup目录下 2.删除过期数据及空目录 公司的备份数据量比较大,必须及时清除过期数据. echo "日期:$(date +%Y-%m-%d):以下是以过期31天的文件:" > /var/log/delete.log find /bakup -mtime +31 -name "*" >> /var/log/delete.log f

rsync 数据备份+cron+mailx案例

大家都知道数据非常重要的,需要经常备份,如果备份了,但无法恢复还原,那就证明你备份的很失败,所有当我们备份了数据需要检查是否备份完整,是否可用可恢复.以下为一个企业案例: 某公司里有一台Web服务器,里面的数据很重要,但是如果硬盘坏了,数据就会丢失,现在领导要求你把数据在其他机器上做一个周期性定时备份.要求如下: 每天晚上00点整在web服务器上打包备份系统配置文件.网站主程序及访问日志,并通过rsync命令推送到服务器上备份保留(备份思路可以是在本地按日期打包,然后再推送到备份服务器上) 具体

rsync数据备份解决方案

rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快. 一.项目规则: 1.系统环境 [[email protected] ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) [[email protected] ~]# uname -r

rsync远程数据备份配置之再次总结

一.实验环境 主机名  网卡ip  默认网关 用途 nfs-server 10.0.0.11 10.0.0.254 rsync服务器端 web-client01 10.0.0.12 10.0.0.254 rsync客服端 web-client02 10.0.0.13 10.0.0.254 rsync客服端 二.实验步骤 1.什么是rsync?rsync是一款开源的,快速的,多功能的可实现全量及增量的数据备份同步的优秀工具,适用于多种操作系统之上.2.rsync特性1)支持拷贝链接文件特殊文件2)

搭建中小规模集群之rsync数据同步备份

NFS重要问题 1.有关NFS客户端普通用户写NFS的问题. 1)为什么要普通用户写NFS. 2)exports加all_squash. Rsync介绍 什么是Rsync? Rsync是一款开源的.快速的.多功能的.可实现全量即增量的本地或远程数据同步备份的优秀工具.Rsync软件适用于unix.linux.windows等多种操作系统平台. Rsync简介 Rsync英文全称Remote synchronization.从软件的名称就可以看出来,Rsync具有可使本地和远程两台主机之间的数据快

2-3-2 rsync+inotify备份同步数据

RSYNC = Remote Sync 远程同步 高效,一定要结合shell 官网:https://rsync.samba.org Author: Andrew Tridgell, Wayne Davison, and others Andrew Tridgell是Samba项目的领导者和主要开发人员,同时还在参与开发rsync\Linux Kernel. 与SCP的比较:scp=无法备份大量数据,类似windows的复制 rsync=边复制 ,边统计,边比较 Rsync特性和优点 可以镜像保存

第三章 rsync通过远程ssh实现数据备份

第三章 rsync通过远程ssh实现数据备份 通过远程shell访问,实现数据同步备份 拉--即将远程服务器上的数据同步到本地服务器上. 推--即将本地服务器上的数据同步到远程服务器上. 语法格式: 拉操作==>     rsync   选项    用户名@备份源服务器IP地址:备份源目录    目标目录 推操作==>     rsync   选项    备份源目录    用户名@目标服务器IP地址:目标目录 环境: 本地服务器为:DataServer.  IP地址为:192.168.88.8

linux下的数据备份工具rsync讲解

linux下的数据备份工具 rsync(remote sync 远程同步) 名词解释: sync(Synchronize,即"同步")为UNIX操作系统的标准系统调用,功能为将内核文件系统缓冲区的所有数据(也即预定将通过低级I/O系统调用写入存储介质的数据)写入存储介质(如硬盘). sync 是一个linux同步命令,含义为迫使缓冲块数据立即写盘并更新超级块.在linux系统中,为了加快数据的读取速度,默认情况下,某些数据将不会直接写 入硬盘,而是先暂存内存中,如果一个数据被重复写,这