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

 




相关文章
|
14天前
|
消息中间件 安全 Unix
SSH配置多台服务器之间的免密登陆以及登陆别名
SSH配置多台服务器之间的免密登陆以及登陆别名
26 1
|
20天前
|
网络协议 Python
pythonTCP客户端编程连接服务器
【4月更文挑战第6天】本教程介绍了TCP客户端如何连接服务器,包括指定服务器IP和端口、发送连接请求、处理异常、进行数据传输及关闭连接。在Python中,使用`socket`模块创建Socket对象,然后通过`connect()`方法尝试连接服务器 `(server_ip, server_port)`。成功连接后,利用`send()`和`recv()`进行数据交互,记得在通信完成后调用`close()`关闭连接,确保资源释放和程序稳定性。
|
2天前
|
Ubuntu Linux
Linux(Ubuntu)系统临时IP以及静态IP配置(关闭、启动网卡等操作)
请注意,以上步骤是在临时基础上进行配置的。如果要永久保存静态IP地址,通常还需要修改 `/etc/network/interfaces`文件,以便在系统重启后保持配置。同时,确保备份相关配置文件以防止出现问题。
13 1
|
4天前
|
Ubuntu Linux 测试技术
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试(下)
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试
35 1
|
4天前
|
Ubuntu 网络协议 Linux
Linux(20) Ubuntu 20.04 网络接口自动切换路由配置
Linux(20) Ubuntu 20.04 网络接口自动切换路由配置
28 0
|
12天前
|
存储 弹性计算 安全
阿里云服务器2核2G、2核4G配置最新租用收费标准及活动价格参考
2核2G、2核4G配置是很多个人和企业建站以及部署中小型的web应用等场景时首选的云服务器配置,这些配置的租用价格也是用户非常关心的问题,本文为大家整理汇总了2024年阿里云服务器2核2G、2核4G配置不同实例规格及地域之间的收费标准,同时整理了这些配置最新活动价格,以供大家参考和选择。
阿里云服务器2核2G、2核4G配置最新租用收费标准及活动价格参考
|
14天前
|
域名解析 网络协议 应用服务中间件
阿里云服务器配置免费https服务
阿里云服务器配置免费https服务
|
17天前
|
安全 关系型数据库 MySQL
国产麒麟服务器等保二级 配置规范(一)
国产麒麟服务器等保二级 配置规范(一)
33 0
|
17天前
|
数据采集
robots.txt配置 减小服务器压力
robots.txt配置 减小服务器压力
13 0
|
19天前
|
Ubuntu 开发工具 git
ubuntu18.04下配置muduoC++11环境
以上步骤将在Ubuntu 18.04下配置C++11环境,并编译安装muduo库。请根据实际情况对配置步骤进行调整。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
17 0