centos7 基于rsync+inotify 实现定时备份

环境:

centos 7

服务端:192.168.59.3

客户端:192.168.59.4

防火墙,selinux,关闭

rsync简介

一、rsync 概述

1)远程同步工具,数据备份

2)本地复制,或者与其他ssh,rsync进行同步

3)官网 http://rsync.samba.org

二、命令及其简单实用

rsync 【选项】 源文件 目标目录

复制:完全拷贝源文件到目标文件

同步:增量拷贝,只传输变化过的数据

选项

​ -n 做测试同步,不能做实际修改

​ -delete 删除目标文件夹内多余的文件

​ -a 归档

​ -v 显示详细操作信息

​ -z 传输过程中启用压缩、解压

三、实际操作之本地复制,直接yum下载

[root@192 ~]# mkdir /leyu
[root@192 ~]# rsync -a /etc/ /leyu/
[root@192 ~]# cd /leyu/
[root@192 leyu]# ls
adjtime                  ethertypes          ld.so.conf                polkit-1        shells
aliases                  exports             ld.so.conf.d              popt.d   

四、实际操作之跨主机操作(下载、上传)

1)下载
[root@192 ~]# rsync -az root@192.168.59.4:/leyu/ /leyu/
The authenticity of host '192.168.59.4 (192.168.59.4)' can't be established.
ECDSA key fingerprint is SHA256:HVkgWmJm5O7fiaO87C2ehxYAAi6r7NNKPtM3RNjkLhU.
ECDSA key fingerprint is MD5:58:3a:68:27:1f:29:e5:22:1e:d2:12:ec:ef:3d:f5:fb.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.59.4' (ECDSA) to the list of known hosts.
root@192.168.59.4's password: 
[root@192 ~]# cd /leyu/
[root@192 leyu]# ls
etc
2)上传
[root@192 ~]# rsync -az /leyu/feng/ root@192.168.59.4:/leyu/
root@192.168.59.4's password: 

innotify+rsync实现数据的实时同步

一、概述

比如服务器在北京,我们的客户在广东,如果中间没有cdn,客户就需要直接访问北京的服务器,但是我们怎样把主服务器的数据同步到中间的cdn的服务器,这个时候就需要用到innotify+rsync实现数据的实时同步。

二、上传包、解压、编译安装

[root@192 ~]# ls
anaconda-ks.cfg  inotify-tools-3.13.tar.gz  rsync-3.1.2  rsync-3.1.2.tar.gz  rsync.rar
[root@192 ~]# yum -y install gcc gcc-c++
[root@192 ~]# cd inotify-tools-3.13
[root@192 inotify-tools-3.13]# ./configure 
[root@192 inotify-tools-3.13]# make & make install
#或者通过yum安装

默认安装在/usr/local/bin目录,一共两个程序
inotifywait和inotifywatch

这样就算安装成功了。
inotiry的简单使用介绍,这个工具一般用来监控文件目录的变动,新建修改删除,属性变动等,inotify能够接受到相关信息,并进行日志输出,可以配合rsync做到服务器文件实时同步。

三、基本功法

首先先附上一张参数解释表

https://img-blog.csdnimg.cn/20190611111527254.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2h1YW5nYmFva2FuZw==,size_16,color_FFFFFF,t_70

inotifywait [选项] 目标文件

-m 持续监控 (捕捉到一个事件后不退出)

-r 递归监控、(包括目录下的子文件)

-q 屏蔽屏幕输出

-e 指定监控类别 midity、move、create、delete、attrib

四、基本用法之监控一个目录

[root@192 inotify-tools-3.14]# /usr/local/bin/inotifywait /opt/
Setting up watches.
Watches established.
/opt/ OPEN,ISDIR 

新建一个窗口,做一些操作

[root@192 ~]# cd /opt/
[root@192 opt]# ls
[root@192 opt]# 

原窗口

[root@192 inotify-tools-3.14]# /usr/local/bin/inotifywait /opt/
Setting up watches.
Watches established.
/opt/ OPEN,ISDIR 
[root@192 inotify-tools-3.14]# 

此时你会发现不监控 只坚持了一步 这也太次了 这时候你在命令时候加一个m的参数就能够实现实时的一个监控了

[root@192 inotify-tools-3.14]# /usr/local/bin/inotifywait -m /opt/
Setting up watches.
Watches established.

新窗口进入/opt/ 下进行文件的修改

[root@192 ~]# cd /opt/
[root@192 opt]# ls
[root@192 opt]# mkdir 1
[root@192 opt]# mkdir 2
[root@192 opt]# ls
1  2

此时再返回到原来的窗口就会发现没有 只监控一步就退出 而是做了持久的监控

[root@192 inotify-tools-3.14]# /usr/local/bin/inotifywait -m /opt/
Setting up watches.
Watches established.
/opt/ CREATE,ISDIR 1
/opt/ CREATE,ISDIR 2

实时同步

本地服务器:192.168.59.3 web

远程服务器:192.168.59.4 web

[root@192 ~]# inotifywait -mrq /var/www/html/
[root@192 ~]# rsync -az /var/www/html/ root@192.168.59.4:/var/www/html/^C

结合脚本实现

[root@192 ~]# cat 1.sh 
#!/bin/bash
aa="inotifywait -mrq /var/www/html/"
bb="rsync -az /var/www/html/ root@192.168.59.4:/var/www/html/"
while true
do
$aa &
$bb
done &
[root@192 ~]# cat 1.sh 
#!/bin/bash
aa="inotifywait -mrq /var/www/html/"
bb="rsync -az /var/www/html/ root@192.168.59.4:/var/www/html/"
while true
do
$aa &
$bb
done &

最后实现实时同步 当你在本地的/var/www/html 中建立文件 在远程服务器中会有实时的备份。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

峰宝宝守护。

乐已忘忧,心旷神愉

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值