Rsync同步镜像服务的搭建

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

本文出自《网管员世界》2002年第10期“网络管理”栏目

对于选择Linux、UNIX 系统作为应用平台的企业或网站来说,往往面临着如何实现将数据远程备份或者如何建立网站镜像的问题。虽然有商业化的备份和镜像产品可供选择,但这些产品的价格往往过于昂贵。因此如何利用自由软件高效实现远程备份和网站镜像就成为一个值得讨论的话题。通过网络进行远程数据备份或者网站镜像的最简单的方法就是使用Wget。但是这种方式每次都需要将所有数据都重新在网络上传输一遍,而不考虑哪些文件是经过更新的,因此效率非常低下。尤其是在需要备份数据量很大的时候,往往需要花费数个小时来在网络上进行数据传输。因此,若能有一种高效的网络远程备份和镜像工具Rsync,就可以满足绝大多数要求不是特别严格的备份需求。

对系统管理员来说,平时的工作重心应该集中在维护系统正常运转,能够正常提供服务上,这里往往牵涉到一个数据备份的问题。在我们所了解的情况中,有80%的系统管理员不是太关心自己服务器的安全性,可是对备份镜像的技术相当感兴趣。但由于商业产品软硬件价格都相当高昂,因此往往会选择自由软件,例如前面提到的网络远程备份和镜像工具Rsync,它可以满足绝大多数要求不是特别高的备份需求。
Rsync是Linux、UNIX系统下的数据镜像备份工具,从软件的命名上就可以看出来了Remote Sync。它有如此特性:可以镜像保存整个目录树和文件系统;可以很容易做到保持原来文件的权限、时间、软硬链接等;无须特殊权限即可安装;优化的流程,文件传输效率高;可以使用RCP、SSH等方式来传输文件,当然也可以通过直接的Socket连接;支持匿名传输。

安装和配置Rsync实例

例如有2台服务器,服务器名分别为:WWW和BACKUP。
硬件环境: 2台HP服务器,1G CPU , 512M Ram , 18G SCSI硬盘;系统环境: Redhat Linux 6.2;服务环境: Rsync-2.4.6。其中,服务器名为WWW的Web服务内容存放在以下几个地方:/www/和/mirror/file0/和/mirror/file1/目录中。现在我们需要通过搭建Rsync同步服务在备份机BACKUP上建立对这几个目录内容的备份。
软件下载  Rysnc的主页地址为:http://rsync.samba.org/,可以从这里下载Rysnc的安装软件(注意:下载源码编译最好)。
编译安装  Rysnc的编译安装非常简单,只需要以下简单的几步(在2台服务器中都要安装):
$ tar xvf rsync-2.4.6.tgz
$ cd rsync-2.4.6
$ ./configure
$ make
$ make install

但是,需要注意的是必须在服务器WWW和BACKUP上都安装Rsync,其中WWW服务器上是以服务器模式运行Rsync,而BACKUP上则以客户端方式运行Rsync。这样在Web服务器WWW上运行Rsync守护进程,在BACKUP上定时运行客户程序来备份Web服务器WWW上需要备份的内容。

配置Rsync服务器端

对于Rsync服务器来说,最重要和复杂的就是它的配置了。Rsync服务器的配置文件为/etc/rsyncd.conf,其控制认证、访问、日志记录等。该文件是由一个或多个模块结构组成。一个模块定义以方括弧中的模块名开始,直到下一个模块定义开始或者文件结束,模块中包含格式为name = value的参数定义。每个模块其实就对应需要备份的一个目录树,比方说在实例环境中,有3个目录树需要备份:/www/和/mirror/file0/和/mirror/file1/目录,那么就需要在配置文件中定义3个模块,分别对应3个目录树。配置文件是行为单位的,也就是每个新行都表示一个新的注释、模块定义或者参数赋值。(注:本例所指的Rsync服务器是名为WWW的服务器)。

例如,在www.blue.com.cn上创建Rsyncd的配置文件/etc/rsyncd.conf,内容如下:
[root@ www /] cat /etc/rsyncd.conf
uid = nobody
gid = nobody
use chroot = no
max connections = 4
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log

[www]
path = /mirror/www/
comment = my rsync site
ignore errors
read only = true
list = false
auth users = backup
hosts allow = 12.23.34.57/32
secrets file = /etc/rsyncd.secrets

[file0]
path = /mirror/file0
comment =  file0
ignore errors
read only = true
list = false
auth users = backup
hosts allow = 12.23.34.57/32
secrets file = /etc/rsyncd.secrets

[file1]
path =/mirror/file1
comment = file1
ignore errors
read only = true
list = false
auth users = backup
hosts allow = 12.23.34.57/32
secrets file = /etc/rsyncd.secrets
这里分别定义了[www]、[file0]、[file1]模块,分别对应于3个需要备份的目树。这里只允许12.23.34.57备份服务器WWW的数据,并且需要认证。3个模块授权的备份用户都为BACKUP,并且用户信息保存在文件/etc/backserver.pas中,其内容如下:
[root@www /etc]# cat /etc/backserver.pas
backup:bk_passwd
并且该文件只能是Root用户可读写的,否则Rsyncd启动时会出错。这些文件配置完毕以后,就需要在WWW服务器上启动Rsyncd服务器:
[root@www /etc]# grep rsync services
rsync           873/tcp                         # rsync
rsync           873/udp                         # rsync
[root@www /etc] grep rsync inetd.conf
rsync   stream  tcp     nowait  root    /usr/local/bin/rsync    rsyncd -daemon
[root@www /etc]# rsync -daemon

执行完毕上面的命令后,Rsync即可启动。Rsync默认服务端口为873,服务器在该端口接收客户的匿名或者认证方式的备份请求。
执行Rsync客户端命令  下一步就要运行Rsync客户端的启动命令了(本例所指的Rsync客户端是名为BACKUP的服务器):

[backup@backup /] /usr/local/bin/rsync -vzrtopg -delete
-exclude  “logs/”--exclude “conf/ssl.*/”
--progress backup@12.23.34.56::www /backup/www/
--password-file=/etc/rsync.pass

上面这个命令行中--vzrtopg里的v是代表Verbose(详细);z是代表Zip(压缩);r是代表Recursive(递归);Topg都是保持文件原有属性,如属主、时间的参数;--progress是指显示出详细的进度情况;--delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致;--exclude “logs/”是表示不对/www/logs目录下的文件进行备份。同样-exclude“conf/ssl.*/”是表示不对/www/conf/ssl.*/目录下的文件进行备份。
backup@12.23.34.56::www 是表示该命令是对服务器12.23.34.56中的WWW模块进行备份,其中BACKUP表示使用BACKUP用户来对该模块进行备份。--password-file=/etc/rsync.pass来指定密码文件,这样就可以在脚本中使用而无须交互式地输入验证密码了。这里需要注意的是,这份密码文件权限属性要设得只有执行这个命令的当前用户可读,本例中是BACKUP用户。
这里将备份的内容存放在备份机的/backup/www/目录下。
[backup@backup /] /usr/local/bin/rsync -vzrtopg -delete -exclude “logs/”--exclude “conf/ssl.*/” --progress backup@12.23.34.56::www /backup/www/ --password-file=/etc/rsync.pass
receiving file list ... done
a.txt
wrote 100 bytes  read 990409 bytes  220113.11 bytes/sec
total size is 2779708994  speedup is 2806.34
这样,Rsync同步服务就搭建好了,最后我们可以将在客户端执行的命令通过Crontab定时执行来实现自动备份,或者写一些脚本,这样Rsync同步服务的搭建就更加完美了。

一些示例脚本

1、每隔7天将数据往中心服务器做增量备份
#!/bin/sh
# This script does personal backups to a rsync backup server. You
# with a 7 day rotating  backup. The incrementals will go
# into subdirectories named after the day of the week, and the c
# full backup goes into a directory called “current”
# tridge@linuxcare.com

# directory to backup
BDIR=/home/$USER

# excludes file 
EXCLUDES=$HOME/cron/excludes

# the name of the backup machine
BSERVER=owl
# your password on the backup server
export RSYNC_PASSWORD=XXXXXX
BACKUPDIR=‘date +%A’
OPTS=“--force --ignore-errors --delete-excluded
--exclude-from=$EXCLUDES
--delete --backup --backup-dir=/$BACKUPDIR -a”
export PATH=$PATH:/bin:/usr/bin:/usr/local/bin
# the following line clears the last weeks incremental directory
[ -d $HOME/emptydir ]‘ ’mkdir $HOME/emptydir
rsync --delete -a $HOME/emptydir/ $BSERVER::$USER/$BACKUPDIR/
rmdir $HOME/emptydir
# now the actual transfer
rsync $OPTS $BDIR $BSERVER::$USER/current
2、备份至一个空闲的硬盘
#!/bin/sh
export PATH=/usr/local/bin:/usr/bin:/bin
LIST=“rootfs usr data data2”
for d in $LIST; do
mount /backup/$d
rsync -ax --exclude fstab --delete /$d/ /backup/$d/
umount /backup/$d
done
DAY=‘date “+%A”’
rsync -a --delete /usr/local/apache /data2/backups/$DAY
rsync -a --delete /data/solid /data2/backups/$DAY
3、对vger.rutgers.edu的Cvs树进行镜像
#!/bin/bash
cd /var/www/cvs/vger/
PATH=/usr/local/bin:/usr/freeware/bin:/usr/bin:/bin
RUN=‘lps x | grep rsync | grep -v grep | wc -l’
if [“$RUN”-gt 0 ]; then
echo already running
exit 1
fi
rsync -az vger.rutgers.edu::cvs/CVSROOT/ChangeLog
$HOME/ChangeLog
sum1=‘sum $HOME/ChangeLog’
sum2=‘sum /var/www/cvs/vger/CVSROOT/ChangeLog’
if [ “$sum1”= “$sum2”]; then
echo nothing to do
exit 0
fi
rsync -az --delete
--force vger.rutgers.edu::cvs/ /var/www/cvs/vger/
exit 0

使用 Rsync 实现远程同步,以及实时同步 Rsync 全称为:Remote Sync(远程同步),是一款开源的快速备份工具,可以在不同主机间镜像同步整个目录树,支持增量备份,保持链接和权限,采用优化的同步算法,传输前执行压缩,适用于异地备份,镜像服务器等应用。 阅读详情

相关推荐

Centos 7 搭建Rsync数据同步

rsync同步工具,对系统操作能力,能创建文件,有操作能力,能让同步文件。 rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。 定义:linux系统下的数据镜像备份工具 优点:远程同步和支持本地复制 它的特性如下: 可以镜像保存整个目录树和文件系统。 可以很容易做到保持原来文件的权限、时间、软...

Butterfly0011的博客 464

rsync同步镜像配置

转自:http://www.liyue.org/tech/archives/11 需要两台服务器,一台为制作服务器,安装CMS系统,用来制作网站;一台为发布服务器,用来发布生成后的静态网站。 我们采用rsync服务,来实现。原理是发布服务器从制作服务器端镜象数据。制作服务器需要安装rsync服务,充当rsync服务器,而发布服务器充当rsync客户端角色。 一、.在rsync服...

zcdxzsz 313

Rsync-3.2.7 安装手册

文件 备份 增量 容器化 rsync server client

TigerLeeHu的博客 571

centos 7服务器安装软件配置文件,CentOS7服务搭建----搭建yum(软件仓库)在线服务器...

闲话不多说,既然选择看,就是想学习,开整。1,yum服务器搭建环境及软件需求系统环境:CentOS7所需软件:A,createrepo:用于软件仓库元数据生成B,nginx/httpd:任选一个,yum是一种web服务,需要web服务器C,rsync:用于同步其他源镜像站D,yum-utils:用于下载软件包但不安装说明:1)搭建yum镜像站的服务器连接互联网,能正常访问CentOS镜像站点,本例...

weixin_29649047的博客 568

服务器搭建文件同步,Rsync 服务器文件同步搭建以及使用

将本地的/data0/htdocs/下的所有文件同步到 客户端10.1.1.195服务器的test模块下在客户端执行.代码如下:rsync -vzrtopg --delete --progress www@10.1.1.195::test /data0/htdocs/将远程服务器10.1.1.195下的test模块内容 同步到本地/data0/htdocs/下上面这个命令行中-vzrtopg代表的...

weixin_42303285的博客 552

使用rsync搭建自用的开源镜像

1 前言 我的服务器上安装了ESXI,我在上面建虚拟机进行测试,这些虚拟机的生命周期很短,在重装系统的时候,也需要反复的下载和安装软件。 我主要使用CentOS 7这款Linux系统,之前主要是使用国内的源镜像站来进行软件包的安装,虽然比直接去国外的镜像站下载已经快了很多,但每次安装虚拟机都会占用我的互联网带宽,导致网络变慢。所以我决定搭建自己的开源镜像站。 之前主要用的开源镜像站如下: 中国科技大学开源镜像站 清华大学开源镜像站 TUNA 阿里巴巴开源镜像站 OPSX 2 准备 先要准备一台最小化安装

DATA WORLD 5668

[转]Rsync同步镜像服务搭建

 [转]Rsync同步镜像服务搭建from: http://www.netadmin.com.cn/kt_article_show.php?article_id=1379&categ_code=10031004本文出自《网管员世界》2002年第10期“网络管理”栏目对于选择Linux、UNIX 系统作为应用平台的企业或网站来说,往往面临着如何实现将数据远程备份或者如何建立网站镜像的问

heiyeluren的blog(黑夜路人的开源世界) 2355

Rsync 同步镜像服务搭建

出自:http://www.china-pub.com 张亚宁 2002年12月14日 22:00   DNS(Domain Name Servive,域名服务)是Internet/Intranet中最基础也是非常重要的一项服务,提供了网络访问中

iLinux 2641

rsync 同步镜像服务搭建

<br />Rsync同步镜像服务搭建<br />from: <br />http://www.netadmin.com.cn/kt_article_show.php?article_id=1379&categ_code=10031004<br /><br />   对于选择Linux、UNIX 系统作为应用平台的企业或网站来说,往往面临着如何实现将数据远程备份或者如何建立网站镜像的问题。虽然有商业化的备份和镜像产品可供选择,但这些产品的价格往往过于昂贵。因此如何利用自由软件高效实现远程备份和网站镜像就成

birdsdeng的专栏 504

rsync远程同步 and rsync服务器+inotify监控工具 实现实时同步

Remote Sync,远程同步,它是一个开源的快速增量备份工具,可以在不同主机之间镜像同步整个目录树。 支持增量备份、保持连接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份、镜像服务器等应用 支持本地复制,或者与其他SSH、rsync主机同步 rsync 与scp FTP等工具备份的机制的优越性在于rsync 同步备份是先比较在拷贝变化过的数据,这样更节省资源,如有1T的数据只有1K的数据改变,则rsync 基本上备份只要同步1k 的数据而 scp 是个傻瓜式的拷贝,全部拷贝。

BIGmustang的博客 406

分分钟就会Redis,rsync远程同步

文章目录一、rsync介绍rsync简介rsync服务的模式rsync特点rsync 命令及其参数二、搭建rsync服务案例环境案例部署 一、rsync介绍 rsync简介 rsync(Remote Sync,远程同步)是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,并保持链接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份、镜像服务器等应用。 rsync 的官方站点的网址是 http://rsync.samba.org/,目前最新版本是 3.1.3,由 W

糖球溜溜的博客 1078

Linux 文件同步工具——rsync

rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync。

changyanmanman的专栏 9550

搭建CentOS在线yum源镜像服务器

centos搭建本地yum源安装http服务器安装nginx开启nginx的目录浏览mkdir源文件目录并通过rsync同步mkdir目录创建yum源同步脚本设定脚本自动执行rsync同步软件 实现目的:同步CentOS镜像站点的内容到此服务器,并且给其他服务器当作yum源使用。实现一次下载,多次利用。 安装http服务器 安装nginx 可以用nginx当作http服务器,具体的安装操作详见本博客:ngixn 开启nginx的目录浏览 vi /usr/local/nginx/conf/nginx.conf

qq_44370158的博客 645

rsync服务器架设方法

作者: 北南南北来自:Linuxsir.Org摘要: rsync 是一个快速增量文件传输工具,它可以用于在同一主机备份内部的备分,我们还可以把它作为不同主机网络备份工具之用。本文主要讲述的是如何自架rsync服 务器,以实现文件传输、备份和镜像。相对tar和wget来说,rsync 也有其自身的优点,比如速度快、安全、高效;目录1. 什么是rsync;2、rsync 服务器的理由和用途;3、架设r...

l821133235的博客 235

Rsync同步文件

rsync 是一个快速增量文件传输工具,它可以用于在同一主机备份内部的备分,我们还可以把它作为不同主机网络备份工具之用。本文主要讲述的是如何自架rsync服务器,以实现文件传输、备份和镜像。相对tar和wget来说,rsync 也有其自身的优点,比如速度快、安全、高效; Rsync安装省略,一般系统自带; 实验环境: 服务端:192.168.1.2  同步目录:/home/ser

hhhh2012的专栏 580

部署Rsync服务器-差异化数据同步

目录: 1.搭建Rsync服务器 2.客户端访问 3.同步备份数据脚本 Rsync(remote sync)是Unix及类Unix平台下一款神奇的数据镜像备份软件,她不像FTP或其他文件传输服务那样需要进行全备份,Rsync可以根据数据的变化进行差异备份,从而减少数据流量、提供工作效率。你可以使用她进行本地数据或远程数据的拷贝,Rsync可以使用SSH安...

weixin_33875839的博客 156
上一篇: get 和post 的区别
goto1983
博客等级 码龄22年 0粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值