当前位置:   article > 正文

【操作系统】Centos7搭建Rsync+inotify+nfs实现数据实时备份实战_rsync+inotify 切换属主

rsync+inotify 切换属主

需求:客户端上传文件同步到nfs文件共享服务器,nfs文件服务器数据备份到rsync服务器

  • 机器准备
  • 192.168.159.21
  • 192.168.159.22
  • 192.168.159.23

在这里插入图片描述

  • 注意:关闭三台机器的防火墙-systemctl stop firewalld

1.(192.168.159.22)部署nfs服务器

(1)在A服务端机器安装nfs-utils和rpcbind包

yum install -y nfs-utils rpcbind 
nfs-utils:提供了NFS服务器程序和对应的管理工具 
rpcbind:获取nfs服务器端的端口等信息
  • 1
  • 2
  • 3

(2)启动rpcbind检查是否启动了rpcbind服务并监听111端口

systemctl start rpcbind 
netstat -tunlp | grep 111
  • 1
  • 2

在这里插入图片描述

(3)配置NFS服务的配置文件,参数配置:vi /etc/exports

/data/NFSdata 192.168.10.0/24(rw,sync) 

/data/NFSdata 	#表示要共享文件的目录 
192.168.10.0/24 #表示所有允许访问的客户端IP网段,也可以写成指定的ip,只允许当前客户机访问 
(rw,sync) 		#rw:表示读写权限,sync:表示数据同步写入内存硬盘
  • 1
  • 2
  • 3
  • 4
  • 5

(4)创建/data/NFSdata目录,更改属主、属组

mkdir -p /data/NFSdata
chown -R nfsnobody:nfsnobody /data  #注意:此处不改权限,客户端没有创建文件权限
  • 1
  • 2

(5)启动nfs服务

systemctl start nfs
  • 1

(6)设置开机启动

systemctl enable rpcbind.service 
systemctl enable nfs.service
  • 1
  • 2

2.(192.168.159.21)部署nfs客户端

(1)下载工具包nfs-utils

yum -y install nfs-utils
  • 1

(2)设置开机自启

systemctl enable rpcbind.service #客户端不用启动nfs-server,但是要用到nfs-server的 一个命令showmount
  • 1

(3)挂载

mount -t nfs 192.168.159.22:/data/NFSdata /NFS #挂在文件系统 
showmount -e 192.168.159.22 #查看是否挂载上
  • 1
  • 2

在这里插入图片描述

(4)测试21节点创建文件同步到22节点

在这里插入图片描述

3.(192.168.159.23)部署Rsync服务端

(1)下载Rsync软件包

yum -y install rsync
  • 1

(2)新增vi /etc/rsyncd.conf配置文件

#用户id
uid = rsync
#组id
gid = rsync
#程序安全设置
use chroot = no
#客户端连接数
max connections = 200
#进程号文件位置
pid file = /var/run/rsyncd.pid
#进程锁文件位置
lock file = /var/run/rsync.lock
#日志文件位置
log file = /var/run/rsyncd.log
#连接超时时间
timeout = 300
#3.1版本以上要加这个
fake super = yes

#模块名称
[backup]
#同步数据的目录
path = /backup
#有错误时忽略
ignore errors
#只读模式(true为只读,false为可读可写)
read only = false
#阻止远程列表
list = false
#允许访问的IP
hosts allow = 192.168.159.0/24
#禁止访问的IP
hosts deny = 0.0.0.0/32
#虚拟用户
auth users = rsync_backup
#存放用户和密码的文件
secrets file = /etc/rsync.password
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37

(3)创建密码文件vi /etc/rsync.password

rsync_backup:123456
  • 1

(4)给/etc/rsync.password降权

chmod 600 /etc/rsync.password
  • 1

(5)创建程序用户rsync

useradd -M -s /sbin/nologin rsync
  • 1

(6)创建/backup目录

mkdir /backup
  • 1

(7)守护进程启动rsync

rsync --daemon
  • 1

4.(192.168.159.22)作为Rsync客户端

(1)22客户端节点新增密码文件vi /etc/rsync.password

123456
  • 1

(2)给/etc/rsync.password降权

chmod 600 /etc/rsync.password
  • 1

(3)测试22节点传输文件到23节点

rsync -zav inotify.sh rsync_backup@192.168.159:23::backup --password-file=/etc/rsync.password
  • 1

在这里插入图片描述

5.(192.168.159.22)部署inotify服务

(1)下载阿里云网络源

cd /etc/yum.repos.d
wget http://files.tttidc.com/centos6/epel-6.repo
  • 1
  • 2

(2)更新yum源

yum clean all
yum makecache
  • 1
  • 2

(3)下载inotify-tools工具包

yum -y install inotify-tools
  • 1

(4)编写inotify.sh脚本

backupServer=192.168.159.23
path=/data/NFSdata
inotifywait -mrq --format '%w%f' -e create,close_write,delete $path | while read line
do
  if [ -f $line ];then
        rsync -za $line --delete rsync_backup@$backupServer::backup --password-file=/etc/rsync.password
  else
        cd $path
        rsync -za ./ --delete rsync_backup@$backupServer::backup --password-file=/etc/rsync.password
  fi
done
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

(5)后台启动脚本

sh inotify.sh &
  • 1

(6)测试数据同步

在这里插入图片描述

$path rsync -za ./ --delete rsync_backup@$backupServer::backup --password-file=/etc/rsync.password fi done

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/145873
推荐阅读
相关标签
  

闽ICP备14008679号