rsync结合 inotfiy 实现实时备份的问题

时间:2021-02-10 08:05:47 魔新豆网

1. 简介

  rsync简介:
rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步

  Inotify简介:
Inotify 是一种强大的、异步的文件系统事件监控机制,通过Inotify可以监控文件系统中添加、删除,修改、移动等各种细微事件,利用这个内核接口,第三方软件就可以监控文件系统下文件的各种变化情况

2. 实验环境:

   

  

ip地址 角色
192.168.153.180 备份源 sync client + inotify
192.168.153.181 备份端 rsync server

  两台机器均关闭防火墙和selinux
关闭防火墙

  

systemctl stop firewalld

  关闭selinux

  

setenforce 0

3. 配置备份端主机(181主机)

  3.1 安装rsync工具

  

yum -y install rsync

  3.2 修改rsync配置文件:

  

vim /etc/rsyncd.conf

  修改后内容如下:(!复制之后删掉注释才可使用,不然格式会有问题)

  

uid=rootgid=rootuse chroot = nomax connections = 10strict modes = yespid file = /var/run/rsyncd.pidlock file = /var/run/rsyncd.locklog file = /var/log/rsyncd.log[rsync]path = /opt  #备份路径comment = rsyncignore errors #跳过错误read only = no #读write only = no #写hosts allow = 192.168.153.180 #备份源iplist = falseauth users = rsync_user  #用户

  3.3 创建密码文件并修改权限 创建文件

  

echo "rsync_user:123" > /etc/rsync.password

  修改权限

  

chmod 600 /etc/rsync.password

  3.4 启动rsync并查看端口验证

  启动

  

rsync --daemon

  验证

  

netstat -ntlp|grep 873tcp        0      0 0.0.0.0:873             0.0.0.0:*               LISTEN      1583/rsync          tcp6       0      0 :::873                  :::*                    LISTEN      1583/rsync  

4. 配置备份源端(180主机)

  4.1 安装epel源和所需工具

  先安装epel源

  

yum -y install  epel-release

  再安装所需工具

  

yum -y install inotify-tools rsync 

  4.2 只需要设置rsync同步密码即可,不用重设用户名 创建文件

  

echo "123" > /etc/rsync.password

  修改权限

  

chmod 600 /etc/rsync.password 

  4.3 编写inotify监控脚本如下:

  

vim inotify.sh

  

#!/bin/baship=192.168.153.181 #备份端ipsrc=/opt/rsync_src #数据目录dst=rsyncuser=rsync_user # 用户/usr/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e modify,delete,create,attrib ${src} | while read filedorsync -vzrtopg --delete --progress $src $user@$ip::$dst --password-file=/etc/rsync.password > /dev/null && echo "$src was rsyncd"done

  3.4 创建源目录

  

mkdir /opt/rsync_src

  3.5 执行脚本检测

  

sh inotify.sh 

  3.6 新开窗口在源目录下创建文件

  

cd /opt/rsync_srcecho 111 > 1.txtecho 222 > 2.txt

  3.7 在备份端查看新创建的两个文件已经同步过来

  

ls /opt/rsync_src/1.txt  2.txt

  3.8 在备份源端删除1.txt文件

  

cd /opt/rsync_srcrm -f 1.txt

  在备份端查看已经同步删除

  

ls /opt/rsync_src/2.txt

  到此这篇关于rsync结合 inotfiy 实现实时备份的文章就介绍到这了,更多相关rsync结合 inotfiy 实现实时备份内容请搜索生活以前的文章或继续浏览下面的相关文章,希望大家以后多多支持生活!

本文标签: