Chinaunix首页 | 论坛 | 博客
  • 博客访问: 272087
  • 博文数量: 87
  • 博客积分: 4061
  • 博客等级: 上校
  • 技术积分: 1032
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-12 16:28
文章分类

全部博文(87)

文章存档

2012年(1)

2009年(85)

2008年(1)

我的朋友

分类: LINUX

2009-03-11 21:20:09

使用Linux的rsync命令实现:多服务器镜像同步
实现功能:当用户在本地客户端某目录内建立、修改、删除目录或文件、修改目录或文件的属性,只要执行相同的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

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

阅读(680) | 评论(0) | 转发(0) |
0

上一篇:windows下rsync server使用

下一篇:rsync examples

给主人留下些什么吧!~~