ubuntu下rsync服务器端和客户端的配置

简介:

rsync同步


mall1和mall2、mall3的同步


mall2、3同步mall1上更新的内容:此时:mall2、3为服务器端,mall1为客户端


mall2、mall3上的安装配置:

===========================================================================================


apt-get install -y rsync(安装rsync)

sudo find / -name rsyncd.conf

/usr/share/doc/rsync/examples/rsyncd.conf(rsync的配置文件的默认安装路径)

sudo cp /usr/share/doc/rsync/examples/rsyncd.conf /etc/ (复制配置文件到/etc/目录下)

===========================================================================================

sudo vi /etc/rsyncd.conf(编辑配置文件为你需要的内容)

[global]##全局选项

uid = ubuntu#指定该模块传输文件时守护进程应该具有的uid

gid = sudo#指定该模块传输文件时守护进程应该具有的gid

use chroot = no##是否让进程离开工作目录

max connections = 10#客户端最大连接数,默认0(没限制)

pid file = /var/run/rsyncd.pid#运行进程的ID写到哪里 

lock file = /var/run/rsync.lock         

log file = /var/log/rsyncd.log#日志记录文件



[mall] # 这里是认证的模块名,在client端需要指定

path=/home/ubuntu/data/web/mall.hiigame.com# 需要做备份的目录

comment = update #备注同步项

ignore errors#可以忽略一些无关的IO错误

read only = no#no客户端可上传文件,yes只读

list = no #用于设定当客户请求可以使用的模块列表,该模块是否被列出,默认为true

host allow = 10.133.200.125#充许连接连接的主机(*为任何主机)

auth users = test # 认证的用户名,如果没有这行,则表明是匿名

uid = ubuntu

gid = sudo

secrets file = /etc/rsync.pass   # 指定认证口令文件位置


[statics]

path=/home/ubuntu/data/web/statics.hiigame.com

comment = update

ignore errors

read only = no

list = no

host allow = 10.133.200.125

auth users = test

uid = ubuntu

gid = sudo

secrets file = /etc/rsync.pass


===========================================================================================

编辑认证口令文件:文件名与配置文件中的路径一样

vi /etc/rsync.pass

test:123456789(认证用户名:认证口令)

     chmod 600 /etc/rsync.pass (修改权限,只有root用户才可执行)

(备注)注意:密码文件的权限,是由rsyncd.conf里的参数

                    strict modes =yes/no 来决定:#是否检查口令文件的权限

rsync的启动:sudo /etc/init.d/rsync (start| restart| stop)

==========================================================================================

ubuntu@VM-200-27-ubuntu:~$ ps -aux | grep rsync  (rsync进程)

Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html

root      1109  0.0  0.0  11004   732 ?        S     2015   0:05 /usr/bin/rsync --no-detach --daemon --config /etc/rsyncd.conf


ubuntu@VM-200-27-ubuntu:~$ netstat -an | grep 873 (rsync端口)

tcp        0      0 10.133.200.27:873       0.0.0.0:*               LISTEN 


===========================================================================================

客户端的配置:

    apt-get intall rsync inotify-tools (安装客户端的配置)

    #sudo vim /etc/rsync.pass(与服务器端相互对应,口令文件 ,只需要有口令即可)

    123456789


编写监控脚本并加载到后台执行

vi /home/ubuntu/data/bin/rsync_mall.sh

        

#!/bin/bash

src=/home/ubuntu/data/web/mall.hiigame.com/ 

des=mall#模块标签

host1="10.133.200.27"#监控主机ip

host2="10.133.200.135"

/usr/local/inotify/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e modify,delete,create,attrib,move $src | while read files

  do

    rsync -qzrtopg --exclude-from=/home/ubuntu/data/bin/rsync.list  --delete --progress --password-file=/etc/rsync.pass $src test@$host1::$des

    rsync -qzrtopg --exclude-from=/home/ubuntu/data/bin/rsync.list --delete --progress --password-file=/etc/rsync.pass $src test@$host2::$des


   done

   echo "${files} was rsynced" >>/tmp/rsync.log 2>&1



==========================================================================================



案例二

脚本路径/home/ubuntu/


vi gameserver.sh

#!/bin/bash

src=/home/ubuntu/data/nfs/

des1=game

host1="10.133.193.230"

host2="10.105.16.128"

inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e modify,delete,create,attrib,move $src | while read files

  do

    rsync -qzrtopg --delete --progress --password-file=/etc/rsync.pass $src test@$host1::$des1

    rsync -qzrtopg --delete --progress --password-file=/etc/rsync.pass $src test@$host2::$des1

   # rsync -qzrtopg --delete --progress --exclude-from=/home/wolfplus/bin/rsync.list --password-file=/etc/rsync.pass $src test@$host6::$des6

   done

   echo "${files} was rsynced" >>/tmp/rsync.log 2>&1



放在后台执行

./gameserver.sh &




====================================================================================


inotify之inotifywait命令常用参数详解



[root@inotify-master inotify-tools-3.14]# cd /usr/local/inotify-3.14/

[root@inotify-master inotify-3.14]# ./bin/inotifywait --help

-r|--recursive   Watch directories recursively. #递归查询目录

-q|--quiet      Print less (only print events). #打印监控事件的信息

-m|--monitor   Keep listening for events forever.  Without this option, inotifywait will exit after one  event is received.        #始终保持事件监听状态

--excludei <pattern>  Like --exclude but case insensitive.    #排除文件或目录时,不区分大小写。

--timefmt <fmt> strftime-compatible format string for use with %T in --format string. #指定时间输出的格式

--format <fmt>  Print using a specified printf-like format string; read the man page for more details.

#打印使用指定的输出类似格式字符串

-e|--event <event1> [ -e|--event <event2> ... ] Listen for specific event(s).  If omitted, all events are  listened for.   #通过此参数可以指定需要监控的事件,如下所示:

Events:

access           file or directory contents were read       #文件或目录被读取。

modify           file or directory contents were written    #文件或目录内容被修改。

attrib            file or directory attributes changed      #文件或目录属性被改变。

close            file or directory closed, regardless of read/write mode    #文件或目录封闭,无论读/写模式。

open            file or directory opened                    #文件或目录被打开。

moved_to        file or directory moved to watched directory    #文件或目录被移动至另外一个目录。

move            file or directory moved to or from watched directory    #文件或目录被移动另一个目录或从另一个目录移动至当前目录。

create           file or directory created within watched directory     #文件或目录被创建在当前目录

delete           file or directory deleted within watched directory     #文件或目录被删除

unmount         file system containing file or directory unmounted  #文件系统被卸载


                                                     


本文转自 蔡小赵 51CTO博客,原文链接:http://blog.51cto.com/zhaopeiyan/1731459

 




相关文章
|
8月前
|
弹性计算 ice
阿里云4核8G云服务器配置价格:热门ECS实例及CPU处理器型号说明
阿里云2025年4核8G服务器配置价格汇总,涵盖经济型e实例、计算型c9i等热门ECS实例,CPU含Intel Xeon及AMD EPYC系列,月费159元起,年付低至1578元,按小时计费0.45元起,实际购买享折扣优惠。
2934 1
|
8月前
|
弹性计算 定位技术 数据中心
阿里云服务器配置选择方法:付费类型、地域及CPU内存配置全解析
阿里云服务器怎么选?2025最新指南:就近选择地域,降低延迟;长期使用选包年包月,短期灵活选按量付费;企业选2核4G5M仅199元/年,个人选2核2G3M低至99元/年,高性价比爆款推荐,轻松上云。
889 11
|
8月前
|
存储 弹性计算 网络协议
超详细的阿里云服务器购买流程,ECS自定义购买配置教程
本文详细图解阿里云ECS服务器自定义购买全流程,涵盖付费模式、地域选择、网络配置、实例规格、镜像、存储、安全组及登录设置等核心步骤,助您轻松掌握专业级云服务器搭建方法。
|
8月前
|
存储 弹性计算 监控
阿里云渠道商:如何挑选阿里云服务器配置?
本文详解通用型、计算型、内存型等实例适用场景,结合性能评估与成本优化策略,助力用户按需选择。以日均1万访问企业网站为例,2核4G+3M带宽月费约200元,性价比高。合理配置更省钱。
|
8月前
|
弹性计算
阿里云ECS云服务器8核16G配置收费价格,多种ECS实例CPU及费用清单
阿里云8核16G云服务器价格因实例类型而异。计算型c9i约743元/月,一年6450元(7折);通用算力型u1仅673元/月,一年4225元(5.1折)。实际价格享时长折扣,详情见ECS官网。
|
8月前
|
弹性计算 Windows
阿里云香港服务器收费价格:香港ECS和轻量应用服务器配置介绍
2025年阿里云香港服务器优惠汇总:ECS 2核4G+5M带宽仅199元/年;轻量服务器30M带宽24元/月起,200M峰值带宽25元/月起。轻量性价比高,适合个人及中小企业建站、跨境业务,具体配置价格详见官方活动页。
3828 1
|
9月前
|
弹性计算 定位技术 数据中心
阿里云服务器选择方法:配置、地域及付费模式全解析
2025阿里云服务器选购指南:就近选择地域以降低延迟,企业用户优选2核4G5M带宽u1实例,仅199元/年;个人用户可选2核2G3M带宽ECS,99元/年起。长期稳定业务选包年包月,短期或波动场景用按量付费,轻松搭建网站首选高性价比配置。