zoukankan      html  css  js  c++  java
  • nfs+inotify

    服务器先安装nfs服务,因为nfs服务端没有固定端口给客户端访问,所以需要借助rpc服务的111端口给客户端连接,即客户端访问rpc会调用nfs服务

    yum -y install rpcbind nfs-utils

    由于nfs共享目录需要给网页服务器使用,并且要对共享目录做一个实时同步操作,为了目录下文件权限的统一以及推送到rsync服务器时不会报权限错误,故在rsync服务器上新建用户,并把Uid,Gid改成65534

    创建共享目录,并把权限改成nfsnobody

    mkdir /nfs-server      chown nfsnobody.nfsnobody /nfs-server

    设置nfs配置文件

    echo '/nfs-server 0.0.0.0/24(rw,async,all_squash)' >/etc/exports

    先启动rpcbind,在启动nfs服务,并把服务加入开机自启动

    systemctl start rpcbind   systemctl enable rpcbind

    开放防火墙端口

      tcp  111 2049 端口     udp 111  4046 端口
      firewall-cmd --zone=public --add-port=4046/udp --permanent
      firewall-cmd --reload
      firewall-cmd --list-port

    检查nfs启动情况

    showmount -e 出现共享目录即为成功

    下载inotify-tools

    http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz

    解压,安装

    cd  inotify-tools-3.14.

    ./configure --prefix=/usr/local/inotify-tools-3.14

    make && make install

    ln -s /usr/local/inotify-tools-3.14/ /usr/local/inotify-tools

    安装完写脚本监测nfs共享目录,即当目录发生创建,删除,写入,关闭时把该目录下数据实时同步到rsync服务器上

    #!/bin/bash
    inotify=/usr/local/inotify-tools/bin/inotifywait
    $inotify -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e delete,create,close_write /data
     \
    |while read file
    do
      cd / &&
      rsync -az /data --delete rsync_backup@0.0.0.0::backup \
      --password-file=/etc/rsync.password
    done

     详细参考https://www.cnblogs.com/hackerer/p/5243639.html

  • 相关阅读:
    vue 封装tarbar组件
    vue 路由守卫
    mint ui switch 开关
    数据库与实例的关系
    Grafana使用总结
    阿里P7前端需要哪些技能
    laravel -- 自定义Api接口全局异常处理
    laravel -- 单元测试
    laravel 项目迁移后重新生成链接文件
    laravel HTTP 请求, 接受参数处理
  • 原文地址:https://www.cnblogs.com/allmdzz/p/10371074.html
Copyright © 2011-2022 走看看