当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > 使用Linux的rsync命令实现 多服务器镜像同步

Linux服务器
RouterOS断流解决办法探讨
用ROS做PPPoE服务器
RouterOS官方防火墙脚本
RouterOS2.9透明代理设置方法
全面提升BINDDNS服务器安全
apache安装后自启动问题
RouterOS下配置DMZ
RouterOS的备份和恢复
Linux小型日程表挑战大型群件
并行版本系统CVS简单教程
红帽集成Xen虚拟化解决方案详解
Linux上实现虚拟化技术的优势
虚拟技术的现状与红帽集成情况
落在实处虚拟化技术应用
Xen和虚拟化技术学习指南
虚拟化能够解决软件安装的困境?
linux的域名解析系统设置
vsftpd.conf内配置参数说明
架设某大型网站服务器之全部过程
Linux环境下快速搭建维基网站

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 69 ::
收藏到网摘: n/a

  实现功能:当用户在本地客户端某目录内建立、修改、删除目录或文件、修改目录或文件的属性,只要执行相同的shell脚本,rsync就会自动找出有改动或删除的数据,将其传送到服务器上,使Linux服务器端某目录内的数据跟本地客户端某目录内的数据保持一致。

★方式一:

一、服务器端(例:10.0.0.1*):

1、创建用户和组

  groupadd www -g 48

  useradd -u 48 -g www www

  mkdir -p /opt/htdocs

  chmod +w /opt/htdocs

  chown www:www /opt/htdocs

  2、编辑rsync的配置文件

  vi /etc/rsyncd.conf

  输入以下内容:

  uid=www

  gid=www

  max connections=10

  use chroot=no

  log file=/var/log/rsyncd.log

  pid file=/var/run/rsyncd.pid

  lock file=/var/run/rsyncd.lock

  [zhangyan]

  path=/opt/htdocs

  comment = my htdocs

  ignore errors

  read only = no

  hosts allow=10.0.0.21 10.0.0.22

  3、启动rsync服务器端

  /usr/bin/rsync --daemon

  二、客户端(例:10.0.0.21和10.0.0.22):

  1、创建一个shell脚本push.sh

  vi push.sh

  输入以下内容(10.0.0.1*为要推送到的目标服务器,zhangyan为服务器端rsyncd.conf配置文件中的模块名):

  引用

  #!/bin/sh

  /usr/bin/rsync -vzrtopg --delete $1 10.0.0.10::zhangyan/

  /usr/bin/rsync -vzrtopg --delete $1 10.0.0.11::zhangyan/

  /usr/bin/rsync -vzrtopg --delete $1 10.0.0.16::zhangyan/

  /usr/bin/rsync -vzrtopg --delete $1 10.0.0.19::zhangyan/

  注:因为是内部局域网之间传输,这里没有设置密码。

  2、赋予push.sh执行权限

  chmod +x ./push.sh

  3、同步推送客户端某个目录中(例:/home/zhanguan/abc)的文件到服务器端的/opt/htdocs目录:

  ./push.sh /home/zhanguan/abc/

  注意:不要忘了abc后面的/。如果更改的文件太大,可以在上面语句的末尾加上空格和&号,推到后台执行。例:

  ./push.sh /home/zhanguan/abc/ &

  ★方式二:

  一、服务器端(例:10.0.0.1*):

  1、创建用户和组

  groupadd www -g 48

  useradd -u 48 -g www www

  mkdir -p /opt/htdocs

  chmod +w /opt/htdocs

  chown www:www /opt/htdocs

  passwd www

  为www用户设置一个密码。

  二、客户端:

  1、同步推送客户端某个目录中(例:/home/zhanguan/abc)的文件到服务器端的/opt/htdocs目录:

  /usr/bin/rsync -vzrtopg --delete /home/zhanguan/abc/ -e ssh [email protected]:/opt/htdocs/

  输入密码,回车即可,无须服务器端启动rsync服务。