加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-14 02:36:33 所属栏目:Linux 来源:网络整理
导读:实现功能:当用户在本地客户端某目录内建立、修改、删除目录或文件、修改目录或文件的属性,只要执行相同的shell脚本,rsync就会自动找出有改动或删除的数据,将其传送到服务器上,使Linux服务器端某目录内的数据跟本地客户端某目录内的数据保持一致。 ★方
实现功能:当用户在本地客户端某目录内建立、修改、删除目录或文件、修改目录或文件的属性,只要执行相同的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 www@10.0.0.10:/opt/htdocs/

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读