多服务器之间实现文件同步功能

多服务器之间实现文件同步,详细步骤如下(本文档为懒人教程,粘贴复制就可成功,简单实用,快来试试吧~)
简介:本例为主服务器上的文件同步到多台从服务器

一.首先,主服务器与从服务器之间建立相互信任关系
   参考:https://blog.youkuaiyun.com/smile_caijx/article/details/82079668 
   1.先在主机A使用命令创建密钥: ssh-keygen -t rsa
   2.在/root/.ssh目录里面看到创建的密钥: ls /root/.ssh/
   3.把id_rsa.pub文件复制到主机B的/root/.ssh目录,并改名为:authorized_keys
     scp -r /root/.ssh/id_rsa.pub 10.16.0.32:/root/.ssh/authorized_keys
   4.测试一下;scp -r root@10.16.0.32:/usr/local/temp /usr/local/temp
   5.这只是让A服务器信任了B服务器,还需要让B服务器信任A服务器,步骤同上
   6.注意,如果有多台服务器,则将所有从服务器的id_rsa.pub中内容复制到主服务器的 authorized_keys 文件中
二.主服务器(Server)
   参考:https://www.cnblogs.com/MacoLee/p/5633650.html
   其中主服务器需要安装rsync与inotify,主服务器作为server,向备份服务器client传输文件
   1.安装rsync
     a.安装rsync和xinetd,并创建目录: yum install rsync xinetd
     b.配置xinetd: vi /etc/xinetd.d/rsync
     c.将disable = yes修改为: disable = no
     d.启动xinetd服务: service xinetd start
   2.建立密码认证文件,代码如下:
     a. [root@Server ]# echo "rsync-pwd" >/etc/rsync.passwd 
        #其中rsync-pwd可以自己设置密码,rsync.passwd名字也可以自己设置
     b. [root@Server]# chmod 600 /etc/rsync.passwd 
        #无论是为了安全,还是为了避免出现以下错误,密码文件都需要给600权限
   3.安装inotify
     [root@Server]# cd /usr/src/ 
     [root@Server src]# wget http://cloud.github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz 
     [root@Server src]# tar zxvf inotify-tools-3.14.tar.gz 
     [root@Server src]# cd inotify-tools-3.14 
     [root@Server inotify-tools-3.14]# ./configure --prefix=/usr/local/inotify 
     [root@Server inotify-tools-3.14]# make 
     [root@Server inotify-tools-3.14]# make install
   4.创建rsync复制脚本,这个脚本放在主服务器上的根目录的/home目录下
     创建文件名称:inotifywaitrsync.sh
       复制一下内容到inotifywaitrsync.sh
    inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e modify,delete,create,attrib /usr/Java/redPackets/apache-tomcat-7.0.70/webapps/redPackets/html-H5/html/  | while read file
    do
    #从服务器一
    rsync -avPz --progress /usr/Java/apache-tomcat-7.0.70/webapps/ROOT/html-H5/html/ 47.114.181.11:/usr/Java/redPackets/apache-tomcat-7.0.70/webapps/ROOT/html-H5/html/
    rsync -avPz --delete /usr/Java/apache-tomcat-7.0.70/webapps/ROOT/html-H5/html/ 47.114.181.11:/usr/Java/redPackets/apache-tomcat-7.0.70/webapps/ROOT/html-H5/html/
    #从服务器二
    rsync -avPz --progress /usr/Java/apache-tomcat-7.0.70/webapps/ROOT/html-H5/html/ 47.114.177.199:/usr/Java/redPackets/apache-tomcat-7.0.70/webapps/ROOT/html-H5/html/
    rsync -avPz --delete /usr/Java/apache-tomcat-7.0.70/webapps/ROOT/html-H5/html/ 47.114.177.199:/usr/Java/redPackets/apache-tomcat-7.0.70/webapps/ROOT/html-H5/html/

    echo "${file} was synchronized"
    done

    5.给脚本赋予764权限: chmod 764 rsync.sh
    6.a.启动脚本: nohup ./inotifywaitrsync.sh & 
      b.杀进程: ps -ef|grep inotify|grep -v grep|cut -c 9-15|xargs kill -9
      c.查看进程是否启动: ps -ef|grep inotify

到此文件同步功能就实现了~~~   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值