Linux远程增量备份-Rsync

Rsync使用的Rsync算法来使本地和远程主机的文件达到同步,这个算法只传送两个文件的不同部分,从而实现增量备份

特点:

能同步整个目录、树和文件系统

有选择性的保持符号链接、硬连接、文件属主、权限、设备以及时间等

能用rsh、ssh或端口作为传输端口,支持匿名同步

安装:

yum install -y rsync

rsync命令参数:

-v表示verbose详细显示

-z表示压缩

-r表示recursive递归

-t表示保持原文件创建时间

-o表示保持原文件属主

-p表示保持原文件的参数

-g表示保持原文件的所属组

-a存档模式

-P表示代替-partial和-progress两者的选项功能

-e ssh建立起加密的连接。

--progress是指显示出详细的进度情况

--delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致。

[email protected]::share1  user123是server端指定认证用户,::share1是模块名,也就是在/etc/rsyncd.conf中自定义的名称。

--exclude="*.sh" 不包含某些文件

基于SSH的同步源

从远程服务器备份到本机

rsync -avz [email protected]:/var/www/html/* /backup/ssh/

从本机上传到远程服务器

rsync -avz /backup/ssh/* [email protected]:/var/www/html/

基于rsync的同步源

vim /etc/rsyncd.conf

address=192.168.200.102        #监听地址

port=873                       #监听端口

use chroot=yes    #是否锁定path目录

uid=nobody

gid=nobody

log file=/var/log/rsyncd.log  #日志位置

hosts allow=192.168.200.0/255.255.255.0

hosts deny=0.0.0.0/0.0.0.0

[backup]

comment=backup_server                   #说明

path=/var/www/html            #共享目录

read only=false                 #权限为读写,true为只读

list=false                              #不允许列出文件

dont compress=*.gz *.bz2 *.zip        #传输时那些文件不压缩

auth users=user123            #虚拟用户用户名

secrets file=/etc/rsyncd_users.db     #虚拟用户密码配置文件位置

vim /etc/rsyncd_users.db

user123:1234

设置密码文件权限为600(必须,否则提示认证失败)

chmod 600 /etc/rsyncd_users.db

设置目录权限

setfacl -m user:nobody:rwx /var/www/html/

启动rsync

rsync --daemon

centos7启动

systemctl start rsyncd

客户端测试

从远程服务器备份到本机

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

从本机上传到远程服务器

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

rsync -avz /backup/rsync/* rsync://[email protected]/backup#与上述命令结果相同

免密码验证

1. 可以通过ssh密钥登陆实现

2.通过变量RSYNC_PASSWORD实现自动登陆

export RSYNC_PASSWORD=1234

3. 用--password-file=/password/path/file指定密码文件(权限要为700)

实时同步工具:inotify(需要备份的服务器安装)

https://sourceforge.net/projects/inotify-tools/

tar -xzvf inotify-tools-3.13.tar.gz

cd inotify-tools-3.13/

./configure

make && make install

vim rsync.sh

#!/bin/bash

a="/usr/local/bin/inotifywait -mrq -e create /var/www/html/"

b="/usr/bin/rsync -avz /var/www/html/* [email protected]:/root"

$a | while read directory event file

do

$b

done

chmod 750 rsync.sh

./rsync.sh &

export RSYNC_PASSWORD=1234  #实现免密码验证

cd /var/www/html/

[[email protected] html]# touch 123

[[email protected] html]# sending incremental file list

123

sent 102 bytes  received 31 bytes  266.00 bytes/sec

total size is 0  speedup is 0.00

inotify+unsion双向实时同步

环境配置:

两台机器能通过密钥对互相访问

http://liang-yao.cnblogs.com/p/8448224.html

2. 安装unison的编译工具ocaml

wget https://caml.inria.fr/pub/distrib/ocaml-3.10/ocaml-3.10.1.tar.gz

tar xzvf ocaml-3.10.1.tar.gz

cd ocaml-3.10.1/

./configure

make world opt

make install

3. 安装unison

wget http://www.seas.upenn.edu/~bcpierce/unison//download/releases/unison-2.32.52/unison-2.32.52.tar.gz

tar xvf unison-2.32.52.tar.gz

cd unison-2.32.52

make UISTYLE=text THREADS=true STATIC=true

#当前工作模式:文本 多进程工作模式

cp unison /usr/local/bin

4. 安装inotify

https://sourceforge.net/projects/inotify-tools/

tar -xzvf inotify-tools-3.13.tar.gz

cd inotify-tools-3.13/

./configure

make && make install

server2和server1步骤相同

server1创建server1目录

mkdir /server1

server2创建server2目录

mkdir /server2

5. 脚本:vim 3.sh

#!/bin/bash

#server1和server2的netip和localfile、netfile不同

netip=192.168.200.101

localfile=/server2

netfile=/server1

a="/usr/local/bin/inotifywait -mrq -e create,delete,modify $localfile"

b="/usr/local/bin/unison -batch $localfile/ ssh://$netip/$netfile"

$a | while read directory event file

do

$b

done

chmod +x 3.sh

./3.sh & #把脚本放入后台执行,查看效果

!!!主机名不能相同

原文地址:https://www.cnblogs.com/liang-yao/p/8454896.html

时间: 2024-10-14 09:13:11

Linux远程增量备份-Rsync的相关文章

DOS配合FastCopy实现远程增量备份

场景描述:近期需要实现将 Windows 下 TG 级别的文档,远程增量备份至分布式存储服务器,于是有了下面的设计: 1.采用rsync,经过测试发现文件比较非常耗时,难以快速实现增量备份: 2.采用Windows下的小工具FastCopy配合DOS脚本来实现快速增量备份: 首先将备份服务器的备份目录自动挂载到本地Z盘(我的备份服务器用samba共享出来的),然后调用FastCopy实现增量备份的目的,具体脚本如下: @ echo off goto begin 远程备份数据到分布式存储指定路径 

linux服务器的备份rsync

因工作要求,要对服务器(Linux)的文件(单位:T)和数据库(MYSQL)进行备份和还原.最初,通过代码实现了完全备份和还原.这样做的优点在于 可以对整个备份和还原的过程进行控制,能确保数据安全.但缺点也是显而易见的:效率低,操作时间长,服务器内存储的文件量很大时(可能达到6-7T),简 直就没法备份.随着更多的业务需求的提出以及对这一功能的更加完善,要将完全备份改为双机增量备份.通过对网上资料的学习,了解了更好的技术:数据库的同 步可利用mysql自带的同步功能能做到实时同步:而利用rsyn

Linux 远程同步:rsync

一.rsync 简介 (1) rsync 是一个远程数据同步工具,可通过 LAN/WAN 快速同步多台主机间的文件(2) rsync 使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快(3) rsync 可以实现增量同步文件,也可以实现全量同步文件:可以实现本地同步文件,也可以实现远程同步文件 rsync -av /etc/passwd /tmp/1.txt # 本地同步,表示把/etc/passwd文件同

linux中的备份神器rsync实现远程同步

一.rsync简介 rsync(Remote Sync,远程同步)是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,保持链接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份.镜像服务器等应用,作为一种最常用的文件备份工具,rsync往往是Linux和UNIX系统默认安装的基本组件之一. rsync的官方站点:http://rsync.samba.org rsync是一款快速增量备份工具,支持: (1)本地复制:(2)与其他SSH同步:(3)与rsy

NFS +inotify+rsync 实现数据的远程挂载与实时增量备份

NFS 网络文件系统 功能: 用户可以像访问自己的本地文件系统一样使用网络中的远端系统上的文件 原理: 用户进程-->RPC服务(portman)-->tcp/ip协议栈-->远端主机RPC服务 后 -->远端NFS服务-->远端主机本地磁盘数据-->NFS服务-->tcp/ip协议栈-->本地数据 优点: 易于实现前段服务器代理分流的时候处理sission以及数据查找时找不到数据等问题,且同时起到了就算任何一个web服务器宕机都不影响数据的访问 缺点: 单

rsync远程同步备份工具

rsync远程同步介绍 rsync(Remote Sync,远程同步)是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,保持链接和权限,切采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份,镜像服务器等应用. rsync官方站点是http://rsync.samba.org/,由Wayne Davsion进行维护.作为一种常用的备份工具,rsync往往是Linux和Unix系统默认安装的基本组件之一. 在远程同步任务中,负责发起rsync同步操作的客户机称为发

Linux命令之文件同步、定时备份 -rsync,cron,crontab

一.rsync介绍(可忽略) Rsync(remote synchronize)是一个远程文件同步工具; Rsync使用"Rsync算法"来同步文件,该算法只传送两个文件的不同部分,因此速度相当快; Rsync是替代rcp的一个工具,目前由rsync.samba.org维护,因而rsync.conf文件的格式类似于samba的主配置文件; Rsync可通过rsh或ssh使用,也能以daemon模式运行,以daemon方式运行时,Rsync Server会打开一个873端口等待客户端连接

rsync远程同步备份

作者:Georgekai 归档:学习笔记 2018/1/22 本章正题:rsync远程同步备份 1.5.1 什么是rsync? 开源的.快速的.多功能的.可实现全量及增量备份的本地或远程数据同步备份方案 rsync官网:http://rsync.samba.org/documentation.html 1. 什么是全量.什么是增量? 全量备份:本地所有数据都进行传输复制,不管对端服务器是否有相同的数据,如果有进行覆盖 增量备份:只备份同步变化的的数据,对端服务器已存在的数据不进行传输复制 1.5

linux自动代码增量备份 结合 全量备份

需求说明 系统环境:linux(centos7)备份内容:增量备份 结合 全量备份 公司中的生产服务器数据非常重要,所以我们需要通过备份服务器将生产服务器的数据进行备份. rsync的增量备份,不单单会同步新增的内容,就连删除的内容也会同步.假如管理代码人员误操作将代码误删除,那么备份服务器检测到备份原的数据产生变化后,也会与其同步,此时生产服务器与备份服务器的代码都会丢失. 增量备份要求的频率较高,但在生产与备份服务器之间的网络资源消耗较少,所以我们可以使用rsync来做增量备份,然后结合在备