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

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

一.首先,主服务器与从服务器之间建立相互信任关系
   参考:https://blog.csdn.net/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

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

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
FastDFS本身并不提供文件同步功能,但可以通过其他工具来实现不同服务器之间文件同步。 一种常用的方法是使用rsync工具进行文件同步。rsync是一个强大的文件同步工具,可以在不同服务器之间同步文件和目录。要使用rsync实现FastDFS服务器之间文件同步,可以进行以下步骤: 1. 在需要同步服务器上安装rsync工具,例如: ``` sudo apt-get install rsync ``` 2. 在其中一个FastDFS服务器上配置rsync服务端,指定需要同步的目录或文件。例如,在Tracker服务器上执行以下命令: ``` cd /etc/fdfs/ sudo rsync --daemon --config=rsyncd.conf ``` 其中,`rsyncd.conf`是rsync的配置文件,根据需要进行配置。 3. 在其他需要同步的FastDFS服务器上配置rsync客户端,指定需要同步的目录或文件。例如,在Storage服务器上执行以下命令: ``` sudo rsync -avPz /data/fastdfs/storage1/ rsync://tracker_server_ip::fastdfs_storage1/ ``` 其中,`/data/fastdfs/storage1/`是需要同步的目录,`tracker_server_ip`是Tracker服务器的IP地址,`fastdfs_storage1`是rsync服务端指定的同步目录。 4. 配置完成后,可以通过rsync命令进行文件同步,例如: ``` sudo rsync -avPz /data/fastdfs/storage1/ rsync://tracker_server_ip::fastdfs_storage1/ ``` 这将会把本地的`/data/fastdfs/storage1/`目录同步到Tracker服务器上指定的`fastdfs_storage1`目录。 需要注意的是,使用rsync进行文件同步会涉及到网络传输,因此需要确保网络畅通和稳定。同时,rsync的配置也需要根据具体情况进行调整,以保证同步的准确性和效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值