`

Linux下利用rsync实现多服务器文件同步

阅读更多
注意事项:
1、主服务器上有配置文件,从服务器上没有配置文件
2、用户名的密码不用跟主机密码一致;

目标:多服务器文件同步
环境 :2 centos5.5
web:10.80.11.243
backup:10.80.11.244
撰写人: hx10
日期: 2010/6/2  hangzhou
Blog:http://hi.baidu.com/hx10
 
第一部分:简单的数据备份
 
第一步:服务器端的配置
#rpm –qa |grep rsync
如果没有的话,则自行下载安装
#cd  /usr/local/src
# wget http://www.samba.org/ftp/rsync/src-previews/rsync-3.0.6pre1.tar.gz
#tar –zxvf rsync-3.0.6pre1.tar.gz
#cd rsync-3.0.6pre1
#./configure && make && make install
假设 web 服务器有三个目录需要备份
/www
/home/web_user1/
/home/web_user2/
创建 rsync 的配置文件
#vim /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 = /www/
ignore errors
read only = true
list = false
hosts allow = 10.80.11.244
hosts deny = 0.0.0.0/32
auth users = backup
secrets file = /etc/backserver.pas
 
[web_user1]
path = /home/web_user1/
ignore errors
read only = true
list = false
hosts allow = 10.80.11.244
hosts deny = 0.0.0.0/32
uid = web_user1
gid = web_user1
auth users = backup
secrets file = /etc/backserver.pas
 
[web_user2]
path = /home/web_user2/
ignore errors
read only = true
list = false
hosts allow = 10.80.11.244
hosts deny = 0.0.0.0/32
uid = web_user2
gid = web_user2
auth users = backup
secrets file = /etc/backserver.pas
备注:
uid = nobody        // 指定文件传输过程中的用户身份
gid = nobody        //
指定文件传输过程中的组身份
log file = /var/log/rsyncd.log        // 指定使用独立的日志文件的位置
pid file = /var/run/rsyncd.pid        //
保存 pid 到指定文件,以便于使用脚本终止进程
read only = yes        // 该目录设置为只读,即只允许客户端下行同步,不允许上传。若需要进行从备份机还原数据,改为 no
rsyncd 默认在 873 端口监听服务,可在客户端使用 telnet 连接测
密码文件为 /etc/backserver.pas
#vim /etc/backserver.pas
backup:123456
格式为:用户名 : 密码
设置密码文件仅仅 root 用户能访问
#chmod 600 /etc/backserver.pas
然后建立备份用户
#useradd backup
#passwd backup
在服务器端启动 rsync 服务
# nohup rsync --daemon &
 
第二步:备份端的配置
安装 rsync 软件,同上
设置密码文件
#vim /etc/rsync.pas
123456
在客户端不需要加用户名,只需要加密码,同时设置为只有 root 有权限
#chmod 600 /etc/rsync.pass
创建备份目录
#mkdir-p /backup/www
#mkdir -p /backup/web_user1
#mkdir -p /backup/web_user2
把服务器端文件 www 模块备份到本机
#/usr/bin/rsync -vzrtopg --delete --exclude "logs/" --exclude "conf/ssl.*/" --progress backup@10.80.11.243::www /backup/www/ --password-file=/etc/rsync.pass
 
--delete 是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致 , 删除本地目录中多余的文件
-- exclude "logs/" 表示不对 /www/logs 目录下的文件进行备份。
--exclude "conf/ssl.*/" 表示不对 /www/conf/ssl.*/ 目录下的文件进行备份。
对其他的模块的备份如下:
#/usr/bin/rsync -vzrtopg --delete --exclude "logs/" --exclude "conf/ssl.*/" --progress backup@10.80.11.243::web_user1 /backup/web_user1/ --password-file=/etc/rsync.pass
 
#/usr/bin/rsync -vzrtopg --delete --exclude "logs/" --exclude "conf/ssl.*/" --progress backup@10.80.11.243:: web_user2 /backup/web_user2/ --password-file=/etc/rsync.pass
如果提示以下错误
@ERROR: invalid uid web_user2
rsync error: error starting client-server protocol (code 5) at main.c(1503) [receiver=3.0.6pre1]
则需要修改 web 服务器上的 web_user2 uid gid 注释掉
定时备份的话,在 crontab –e 里面设置
: 备份脚本,可以加入 crontab, 按时自动备份( backup 服务器上运行)
#!/bin/bash
DATE=`date  +%w`
rsync -tvzrp -e ssh --progress --delete backup@10.80.11.244::www /backup/www/$DATE   --password-file=/etc/rsync.pass > /var/log/test.$DATE

mail -s "Backup is done" yhl5555@126.com < /var/log/test.$DATE

分享到:
评论

相关推荐

    使用Linux的rsync命令实现多服务器镜像同步.doc

    在 Linux 系统中,rsync 命令是实现文件同步和备份的强大工具。rsync 命令可以实现多服务器镜像同步,使得文件在不同服务器之间保持一致。本文将详细介绍使用 rsync 命令实现多服务器镜像同步的方法。 什么是 rsync...

    linux下Rsync+sersync实现文件数据实时同步

    在Linux环境中,文件数据的实时同步是系统管理中的重要任务,尤其对于分布式系统和多服务器环境。`Rsync`和`sersync`是两个常用的工具,它们能够有效地帮助我们完成这个任务。本文将深入探讨这两个工具的工作原理、...

    linux 下rsync文件夹同步配置

    在Linux环境下,rsync工具因其高效、稳定、灵活的特点,被广泛应用于文件备份、数据迁移以及文件夹同步等场景。本文将详细介绍如何在Linux系统中配置rsync进行文件夹同步,包括准备工作、安装过程、服务端与客户端的...

    linux中rsync异步服务器实现文件同步与备份.docx

    本文将探讨如何在Linux中利用Rsync异步服务器来完成这一任务。 首先,Rsync的异步同步机制允许用户仅传输变化的数据部分,从而在同步大型或频繁变动的文件夹时,极大减少网络流量并缩短同步时间。这一机制不仅能够...

    使用Linux的rsync命令实现多服务器镜像同步.docx

    使用 Linux 的 rsync 命令实现多服务器镜像同步 rsync 命令是一种高效的文件同步工具,经常应用于多服务器镜像同步中。通过 rsync 命令,可以实现对文件的实时同步、备份和恢复。以下是使用 rsync 命令实现多服务器...

    linux下利用rsync实现文件的备份

    rsync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息。本文档提供rsync的配置,实现远程服务器定时备份的功能。

    rsync实现 服务器间文件的同步

    标题中的“rsync实现 服务器间文件的同步”是指使用rsync工具进行远程数据同步的过程。rsync是一款功能强大的、开源的文件同步工具,广泛应用于Linux和Unix系统中,能够高效地实现本地或远程文件及目录的备份和迁移...

    Linux下rsync文件同步详解

    Linux 下 rsync 文件同步详解 rsync 简介 RSYNC 是一个快速、可靠、功能强大且免費的 Unix 和 Linux 文件同步工具。...通过了解 rsync 的原理、服务方式和基本使用,可以更好地利用 rsync 实现文件同步和备份。

    Rsync实现文件备份同步

    **Rsync实现文件备份同步详解** 在IT领域中,数据备份和同步是非常关键的操作,确保了数据的安全性和可用性。Rsync(Remote Sync)是一种高效、功能强大的文件同步工具,常用于实现本地或远程文件的备份与同步。...

    利用Rsync服务让SLB下多台centos服务器文件同步更新

    利用 Rsync 服务让 SLB 下多台 CentOS 服务器文件同步更新 Rsync 服务是一个功能强大且灵活的文件同步工具,广泛应用于 Linux 和 Unix 系统中。以下是使用 Rsync 服务让 SLB 下多台 CentOS 服务器文件同步更新的...

    两台linux服务器目录实时同步(Rsync+Inotify)

    ### 实时同步技术详解:利用Rsync与Inotify在Linux环境下构建高效同步方案 #### 一、概述 在现代IT环境中,数据同步是一项至关重要的任务,尤其是在多服务器架构下,保持数据的一致性和实时性对于业务连续性至关...

    rsync+inotify实现服务器之间目录文件实时同步

    ### rsync+inotify 实现服务器之间目录文件实时同步 #### 软件简介与应用场景 **rsync** 是一种高效且广泛使用的文件同步工具,主要用于远程数据备份、镜像和迁移场景。相较于传统的 `cp` 和 `tar` 备份方式,...

    CentOS下用rsync+inotify实现实时同步

    CentOS 7下用rsync+inotify实现实时同步可以实现文件之间的同步备份。下面是相关知识点的详细解释: 1. rsync简介 rsync是一种快速、可靠、安全的文件同步工具。它可以在本地或远程主机之间同步文件,具有高效、...

    利用rsync+crontab实现Linux的定时增量备份

    rsync服务器的搭建相对简单,由于每个管理员的需求可能不同,因此许多Linux发行版仅提供软件安装,不包含预配置的服务器设置。rsync服务器的用途广泛,既可以在本地进行备份,也可以跨主机进行备份。对于重要的...

Global site tag (gtag.js) - Google Analytics