zoukankan      html  css  js  c++  java
  • Rsync+sersync部署

    内核版本:2.6.32-431.el6.x86_64

    系统采用最小化安装,系统经过了基本优化,selinux 为关闭状态,iptables 为无限制模式 源码包存放位置:/root

    Rsync 客户端+Sersync 服务器(SERSYNC),承担角色 MASTER,IP:172.16.100.3,主机名:

    rsync-client-sersync

    SERSYNC_SLAVE,作为 SERSYNC 的从机,如果 SERSYNC 宕机,SERSYNC_SLAVE 来接管服务,

    保证业务不中断,本实验不包括它!

    Web 服务器 A(即 Rsync 服务端)(SWEB1),承担角色 S1,IP:172.16.100.1,主机名:rsync-server-1

    Web 服务器 B(即 Rsync 服务端)(SWEB2),承担角色 S2,IP:172.16.100.2,主机名:rsync-server-2

    6.1.2  服务器端配置

    特别提醒:本文的 SWEB 服务器即为 SWEB1(172.16.100.1),SWEB2(172.16.100.2)。此 处仅以 SWEB1 的 Rsync 服务端部署为例,SWEB2 的部署和 SWEB1 一样,此处不再敖述。

    1.安装 Rsync

    [root@SWEB1 ~]# yum install rsync –y

    2、修改 Rsync 配置文件

    [root@SWEB1 ~]# cat > /etc/rsyncd.conf << EOF

    #Rsync server

    #created by sunsky 00:17 2013-06-28

    ##rsyncd.conf start##                                                                                                                     27

    uid = root     # rsync 对后面模块中的 path 路径拥有什么权限 gid = root     # rsync 对后面模块中的 path 路径拥有什么权限 use chroot = no     # 安全操作

    max connections = 2000      # 定义连接数 2000 timeout = 600      # 600 秒超时

    pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.lock log file = /var/log/rsyncd.log ignore errors     # 忽略错误

    read only = false   # false 才能上传文件,true 不能上传文件

    list = false   # 文件列表

    hosts allow = 172.16.100.0/24 hosts deny = *

    auth users = rsync_bak   # 虚拟用户,同步时需要用这个用户

    secrets file = /etc/rsync.password     # 密码文件

    ##################################### [web]      # 模块名称

    comment = redhat.sx site files by sunsky 00:17 2013-06-28   # 注释

    path = /data/web                # 模块的路径

    #################################### [download]

    comment = redhat.sx site sit data files by sunsky 00:17 2013-06-28 path = /data/download

    ##################################### EOF

    做一个目录即可。

    上面的 Rsync 服务的配置文件,表明允许 172.16.100.0 网段的主机访问,Rsync 同步模块名 为[web]和[download],将同步过来的文件分别放入对应 path 指定的目录/data/web,

    /data/download 下。

    如果有多台目标服务器,则每一台都需要进行类似的 rsync 服务端配置,上面的 uid 和

    gid 需要换成你服务器的相应的同步用户。注意,Rsync 服务账户(本文用 root)要有对被同

    步目录(/data/web 和/data/download)的写入和更新权限。

    3、创建相关待同步目录

    [root@SWEB1 ~]# mkdir /data/{web,download} -p

    [root@SWEB1 ~]# tree /data

    /data

    ├── download

    └── web

    2 directories, 0 files

    提示:此步在 S1,S2 上都要执行,否则,rsync 服务会因为没有 PATH 路径而无法启动。

    4、相关认证和权限项配置

    [root@SWEB1 /]# echo 'rsync_bak:redhat' > /etc/rsync.password

    [root@SWEB1 /]# chmod 600 /etc/rsync.password

    [root@SWEB1 /]# cat /etc/rsync.password

    rsync_bak:redhat

    [root@SWEB1 /]# ll /etc/rsync.password

    -rw-------. 1 root root 7 Jun 4 00:20 /etc/rsync.password

    5、以守护进程方式启动 rsync 服务

    [root@SWEB1 ~]# rsync –daemon

    6、查看 rsync 服务状态

    COMMAND  PID USER  FD  TYPE DEVICE SIZE/OFF NODE NAME

    rsync  20982 root  3u IPv4 88170      0t0 TCP *:rsync (LISTEN)

    rsync  20982 root  5u IPv6 88171      0t0 TCP *:rsync (LISTEN)

    7、为 rsync 添加开机自启动

    [root@SWEB1 /]# echo "# rsyncd service daemon by sun 20140702" >>/etc/rc.local

    [root@SWEB1 /]# echo "/usr/bin/rsync --daemon" >> /etc/rc.local

    [root@SWEB1 /]# grep daemon /etc/rc.local

    # rsyncd service daemon by sun 20140702

    /usr/bin/rsync --daemon

    这里顺带附上重启的命令,rsync 重启有点麻烦,需要以先杀掉后台守护进程,然后再启动的方式

    来重启服务。

    [root@SWEB1 /]# pkill rsync

    [root@SWEB1 /]# rsync --daemon

  • 相关阅读:
    客户端和Web Api服务的交互
    ASP.NET MVC4 validate验证遇到DateTime 类型的Bug(完整解决方案)
    不能说的秘密 一个很感人的爱情故事
    快五一了,申请了第一个Blog,哈哈。
    人生没有目标是可怕的。。。
    在.NET中使用SMTP发送邮件,有一些疑问
    smtp验证发邮件,今天好郁闷,终于解决了
    C#、.NET迷你音乐播放器(改进版)
    C#实现冒泡排序 堆栈 队列
    C#、.NET版邮件(群)发系统
  • 原文地址:https://www.cnblogs.com/fanweisheng/p/11327336.html
Copyright © 2011-2022 走看看