1.配置rsync同步的远程主机(做网站镜像,基于lamp或者lnmp平台)
一.使用基于SSH的服务方式时,服务器端无需配置rsync,只要安装好openssh-server,丙配置启动sshd服务即可。这种方式可以直接以linux系统用户进行Rsync验证,非常方便和灵活。在RHEL5中,使用自带的openssh-server软件包,按照默认配置即可。基于安全考虑,可以根据需要对配置进行适当调整
[root@www1 ~]# useradd sshuser
[root@www1 ~]# passwd sshuser
[root@www1 ~]# vi /etc/ssh/sshd_config
  39 PermitRootLogin no
  42 AllowUsers sshuser  
  109 UseDNS no
[root@www1 ~]# netstat -anp | grep :22
tcp        0      0 :::22                       :::*                        LISTEN      14726/sshd     
[root@www1 ~]# chkconfig --level 2345 sshd on
………………………………………………………………………………
二.基于rsync的--daemon模式
  使用rsync程序的服务器模式时,需要为rsync程序配置rsyncd.conf文件,并以"--daemon"的选项将rsync运行为服务进程。这种法师可以使用匿名用户,或者基于文本文件的用户数据进行验证。通常用于建立只读模式的下载备份源。(在RHEL5,默认已安装有rsync-2.6.8-3.1)
1.建立rsyncd.conf配置文件(缺省没有该文件,需要手工建立.   man  rsyncd.conf)
[root@www1 ~]# vi /etc/rsyncd.conf 
uid = nobody
gid = nobody
use chroot = yes
address = 192.168.6.34
port 873
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
hosts allow = 192.168.6.0/24
[webroot]
        path = /var/www/html
        comment = Directory for web server
        read only = yes
        dont compress = */gz *.tgz *.zip *.rar *.z *.bz2
        auth users = backuper
        secrets file = /etc/rsyncd_db
2.建立rsync用户数据库,创建一个用于备份操作的用户,并设置好可靠的密码。×该用户必须对备份源目录 拥有读取权限(other),才能进行远程同步。
[root@www1 ~]# vi /etc/rsyncd_db 
backuper:123
[root@www1 ~]# chmod 600 /etc/rsyncd_db 
3.启动rsync服务(若rsync服务需要被频繁使用,建议采用独立守护进程的方式运行。若rsync服务的使用频率不高,则可以交由xinetd超级服务器管理,需安装有xinetd-2.3.14-10.el5.i386.rpm)以节省系统资源。
第一种:独立启动的守护进程
[root@www1 ~]# rsync --daemon 
[root@www1 ~]# netstat -anp | grep rsync
tcp        0      0 192.168.6.34:873            0.0.0.0:*                   LISTEN      5667/rsync          
unix  2      [ ]         DGRAM                    14825  5667/rsync      
[root@www1 ~]# echo "/usr/bin/rsync --daemon &" >> /etc/rc.local
第二种:由xinetd管理的客户进程
[root@www1 ~]# vi /etc/xinetd.d/rsync

# default: off
# description: The rsync server is a good addition to an ftp server, as it \
#       allows crc checksumming etc.
service rsync
{
        disable = no
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon
        log_on_failure  += USERID
}
[root@www1 ~]# chkconfig --list rsync
rsync           启用
[root@www1 ~]# service xinetd restart
停止 xinetd:                                              [确定]
启动 xinetd:                                              [确定]
三.使用rsync文件同步工具
区别:当连接open-server服务时,使用一个“冒号”分隔
[root@www2 ~]# rsync -avz sshuser@www1.benet.com:/var/www/html/ /webbak/www
      当连接rsync --daemon服务时,使用“两个冒号”分隔(webroot为远程备份的目录模块名称)
[root@www2 ~]# rsync-avz backuper@www1.benet.com::webroot /webbak/www
或者[root@www2 ~]# rsync -avz rsync://backuper@www1.benet.com/webroot /webbak/www
四.结合NFS和inotify-tool实现实时同步
1.配置NFS发布共享
[root@www2 ~]# mkdir -p /webbak/www1
[root@www2 ~]# vi /etc/exports 
/webbak/www1    192.168.6.34(rw,no_root_squash)
[root@www2 ~]# chkconfig --level 2345 portmap on
[root@www2 ~]# chkconfig --level 2345 nfs on
[root@www2 ~]# service portmap start
启动 portmap:                                             [确定]
[root@www2 ~]# service nfs start
2.配置本地的备份源主机
1)安装inotify-tool
[root@www1 ~]# cd /aaa/
[root@www1 aaa]# ls
inotify-tools-3.14  inotify-tools-3.14.tar.gz
[root@www1 aaa]# tar inotify-tools-3.14.tar.gz 
[root@www1 aaa]# cd inotify-tools-3.14
[root@www1 inotify-tools-3.14]# ./configure ; make ; make install    
2)挂在NFS共享目录
[root@www1 ~]# chkconfig --level 2345 portmap on
[root@www1 ~]# service portmap start
启动 portmap:                                             [确定]
[root@www1 ~]# vi /etc/fstab

/dev/VolGroup00/LogVol00 /                       ext3    defaults        1 1
LABEL=/boot             /boot                   ext3    defaults        1 2
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
/dev/VolGroup00/LogVol01 swap                    swap    defaults        0 0
# Beginning of the block added by the VMware software
.host:/                 /mnt/hgfs               vmhgfs  defaults,ttl=5     0 0
# End of the block added by the VMware software
192.168.6.47:/webbak/www1       /media/nfsdir   nfs     defaults 0 0   //添加该行
3)创建挂装目录
[root@www1 ~]# mkdir -p /media/nfsdir
[root@www1 ~]# mount /media/nfsdir/
[root@www1 ~]# df -hT
文件系统      类型    容量  已用 可用 已用% 挂载点
/dev/mapper/VolGroup00-LogVol00
              ext3     19G  4.6G   13G  27% /
/dev/sda1     ext3     99M   12M   82M  13% /boot
tmpfs        tmpfs    252M     0  252M   0% /dev/shm
192.168.6.47:/webbak/www1
               nfs     19G  3.9G   14G  22% /media/nfsdir
4)编写inotify监控及触发同步脚本(监控/var/www/html/目录下的文件修改,创建,移动,删除时间,当出现监控的事件时,立即触发rsync命令执行增量更新)
[root@www1 ~]# vi /opt/rsync.sh
#!/bin/bash
inotifywait -mrq -e modify,create,move,delete /var/www/html/ | while read DIR EVENT FILE
do
        rsync -aHvz --delete /var/www/html/ /media/nfsdir
done
4)执行触发同步脚本
[root@www1 ~]# chmod 700 /opt/rsync.sh 
[root@www1 ~]# echo "/opt/rsync.sh &" >> /etc/rc.local 
[root@www1 ~]# /opt/rsync.sh &                        (fs + 编号   调出后台程序)
[1] 20633

最后测试,发现,当www1对/var/www/html/下进行动作时,立即同步到www2服务器

本文出自 “技术成就未来” 博客,请务必保留此出处http://jishuweiwang.blog.51cto.com/6977090/1208367

转载于:https://blog.51cto.com/beijingdba/1417851

NFS+rsync+inotify镜像相关推荐

  1. Centos7 下 配置 rsync 以及 rsync+inotify 实时同步

    Centos 7 下 配置 Rsync 以及 rsync+inotify 实时同步 rsync介绍 rsync是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支 持增量备份,保持链接和 ...

  2. 通过rsync+inotify实现数据的实时备份

    在前面的博文中,我讲到过利用rsync实现数据的镜像和备份,但是要实现数据的实时备份,单独靠rsync还不能实现,本文就讲述下如何实现数据的实时备份. 一.rsync的优点与不足 与传统的cp.tar ...

  3. linux下rsync+inotify实现服务器之间文件实时同步

    先介绍一下rsync与inotify. 1.rsync 与传统的cp.tar备份方式相比,rsync具有安全性高.备份迅速.支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,例 ...

  4. 利用ssh+rsync+inotify实现数据的异地实时同步

    在服务器中,通常结合计划任务.shell脚本来执行本地备份.为了进一步提高备份的可靠性,使用异地备份也是非常重要的,利用rsync工具,可以实现快速.高效的异地备份.本篇博客将配置rsync+cron ...

  5. rsync+inotify实现服务器之间文件实时同步--转

    之前做了"ssh信任与scp自动传输脚本"的技术文档,此方案是作为公司里备份的方法,但在实际的运行中,由于主服务器在给备份服务器传输的时候,我们的主服务器需要备份的文件是实时.不停 ...

  6. Rsync+inotify搭建实时同步系统

    Rsync 优点 rsync具有安全性高.备份迅速.支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,例如定期地备份文件服务器数据到远程服务器上,对本地磁盘定期进行数据镜像等. ...

  7. rsync+inotify实现服务器之间文件实时同步

    原文转自http://dl528888.blog.51cto.com/2382721/771533/ 之前做了"ssh信任与scp自动传输脚本"的技术文档,此方案是作为公司里备份的 ...

  8. 数据镜像备份工具rsync + inotify

    数据镜像备份工具rsync + inotify 一.rsync介绍: rsync是Unix下的一款应用软件,它能同步更新两处计算机的文件与目录,并适当利用差分编码以减少数据传输.rsync中一项与其他 ...

  9. 配置Rsync和Rsync + inotify

    第一部分:配置Rsync 一.介绍Rsync工具 rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.它使用所谓的"Rsync演算法"来使本地和远程两个 ...

最新文章

  1. 安装Anaconda创建虚拟环境以及在pycharm中使用虚拟环境
  2. 解决Windows与虚拟机ubuntu之间相互直接拖动文件
  3. 九度 题目1548:平面上的点
  4. JS判断数字字母中文
  5. 教程 | 如何优雅而高效地使用Matplotlib实现数据可视化
  6. 处理效应模型stata实例_手把手教你Stata软件操作与案例分析
  7. Activity启动流程(二)system_server进程处理启动Activity请求
  8. 【对话系统】Knowledge-Grounded Dialogue Generation with a Unified Knowledge Representation
  9. BUUCTF(web刷题记录一)
  10. 安装windows和android双系统,真正的安卓Windows双系统,RemixOS Windows共存系统安装+附带ROOT+大分区...
  11. 【Python】简单判定身份证是否合法、性别
  12. mysql去掉两个最高分_excel去掉两个(多个)最低分、最高分,求总(平均)分...
  13. Python 海龟绘图:turtle库的使用
  14. 2021-05-26 使用Android Studio创建手机模拟器
  15. JNPF移动办公解决方案
  16. html网页比赛演讲稿,故事大王比赛的演讲稿范文(精选5篇)
  17. 学习如何避免10种最常见的C#误区
  18. java fresh 水果,《蓝莓甜杏面包/ Fresh Apricot and Blueberry Tea Bread》把水果做进面包里...
  19. 重庆网通信息港试点电力线上网
  20. 应收账款管理存在哪些问题?如何解决

热门文章

  1. linux 下rpm软件的安装和卸载
  2. 详细分析开源软件 ExifTool 的任意代码执行漏洞 (CVE-2021-22204)
  3. F5紧急修复严重的 BIG-IP 预认证 RCE 漏洞
  4. 开源自动化服务器软件 Jenkins 被曝严重漏洞,可泄露敏感信息
  5. RSAC|苹果设备的最大威胁是逆向后重部署的恶意软件
  6. 俄罗斯间谍被指窃听跨大西洋电缆通信
  7. 【严重抗议】主播都是阿里程序猿的直播,他们也是够了!
  8. WampServer下开启curl
  9. DB2 多表空间 重定向 还原
  10. vue2.0项目实战(3)使用axios发送请求