当前位置:首页 > 系统运维 > 正文内容

CentOS7 rsync+inotify异机实时备份部署方案

汉谟拉比2年前 (2022-07-11)系统运维5100

一、 背景 需求

为了实现重要数据的异地备份,防止服务器故障导致数据丢失 而 影响业务连续运行 。 要求 实时检测 A服务器 xx目录 变化情况 ,一旦检测到目录发生 变化 立即触发向 B服务器 xx目录传输文件的动作 B服务器上保留最近 9天的备份文件 以达到 历史 数据异地 备份且不会无限撑满文件系统 。

二、 主机 环境

服务器IP 10.19.222.147 主机名 hosta 需要备份的目录为 /opt/opsmgr/backup

服务器IP 10.19.222.135 主机名 hostb用于接收备份文件的目录为 /home/backup

三、 方案 思路

hosta访问 hostb配置 ssh免密互信 。

hosta和 hostb安 装 rsync和 inotify-tools,实现实时检测目录并传输文件 。

hostb配置定时任务删除 9天以前的备份文件 防止磁盘被 无效数据 撑满 。


四、 实施方案

4.1互信配置登陆

10.19.222.147 hosta操作

[root@hosta ~]# ssh-keygen -t rsa //生成秘钥

Snipaste_2022-07-11_19-13-27.png

[root@hosta ~]# vi /etc/ssh/sshd_config //禁用 root ssh密码登录 ,但运行秘钥登录

PermitRootLogin without-password 先写

PermitRootLogin no 再写

Snipaste_2022-07-11_19-14-36.png

[root@hosta ~]# systemctl restart sshd //重启 sshd服务生效 上述 配置

[root@hosta ~]# cat /root/.ssh/id_rsa.pub //把 输出的内容 写 到 hostb的/root/.ssh/authorized_keys文件

Snipaste_2022-07-11_19-15-58.png

登陆10.19.222.135 hostb操作

[root@hostb ~]# mkdir /root/.ssh

[root@hostb ~]# chmod 700 /root/.ssh

[root@hostb .ssh]# vi /root/.ssh/authorized_keys //写入 hosta的 /root/.ssh/id_rsa.pub内容

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCf5ZLamqa6Of2NSqhjjlP2VClfWadfkHOINYOm4nOnEQ5k6PTZgMX5Gmtg1C8VUJxkFZcj+AG+oHqOzWxntIqqqKjmQodOU9NXa89GmcHSUSFnKO0pt8JafwPrPaL8bPSV0knFRV+wavxhpIG5cF//8Yvzu7CODIxP9zQgoM6fbX7V1PlHE5CTZRtv+40gyMlyz1f0NkxntZ7XZJQldx0CI5ieu0UuyqYgENQsOnlA7WfgMazOLvoVGwNJ6MPu5UeUNGPlvOgAoaY3HvfBd1Jt5FMJGToVqJjfIQqyldN2a2QquGgXrIIDai1gQJM/WPeTPs0YL5BuWa/k+CfJlG+c+ejR7halxhB1OQR2VBAdSld0wx47n7YUX4Bgztg7e6Dbb8i5xl8u49ABYJWrOC0phO5CRygtjANY7mXAqNpzV31Dm/uYbpALjeBm4WNO26G9VF4Wf5GUdDOjIhzB2GtrzMcB0OV7yNABT76j75KYgcikF+8Pg6BucXz21cv9z8= root@hosta

结果展示

Snipaste_2022-07-11_19-17-32.png

[root@hostb ~]# chmod 600 /root/.ssh/authorized_keys

[root@hostb ~]# vi /etc/ssh/sshd_config

PermitRootLogin without-password

PermitRootLogin no

Snipaste_2022-07-11_19-18-25.png

systemctl restart sshd 重启 sshd服务生效 上述 配置

登陆10.19.222.147操作

测试hosta 免密成功 登陆 hostb 22为 hostb主机 sshd服务监听端口 。

ssh -p 22 root@10.19.222.135

结果展示

Snipaste_2022-07-11_19-19-32.png

服务器A root互信 免密 登陆服务器 B配置完成 。

4.2自动同步配置

 软件安装

https://developer.aliyun.com/packageSearch

上传2个 rpm到 /tmp目录

登陆hosta hostb操作 安装 rsync和 inotify-tools

rpm -ivh /tmp/rsync-3.1.2-4.el7.x86_64.rpm

rpm -ivh /tmp/inotify-tools-3.14-9.el7.x86_64.rpm

Snipaste_2022-07-11_19-22-17.png

创建脚本

hosta上的 /opt/opsmgr/backup/为需要备份的目录

hostb上的 /home/backup/为存放备份文件的目录

vi /home/hik/remote_file_backup.sh 写入以下内容

#!/bin/bash

INOTIFY_CMD="/bin/inotifywait -mrq -e modify,create,attrib,move,delete /opt/opsmgr/backup/"

$INOTIFY_CMD | while read files

do

/bin/rsync -az /opt/opsmgr/backup/ root@10.19.222.135:/home/backup/

done

结果展示

Snipaste_2022-07-11_19-24-15.png

设置开机自动运行备份脚本

[root@hosta hik]# echo "sh /home/hik/remote_file_backup.sh &" >> /etc/rc.d/rc.local

[root@hosta hik]# chmod +x /etc/rc.d/rc.local

结果展示

Snipaste_2022-07-11_19-24-59.png

手动运行 脚本

[root@hosta hik]# sh /home/hik/remote_file_backup.sh &

查看结果

[root@hosta hik]# ps -ef|grep inotify |grep -v grep

[root@hosta hik]# ps -ef|grep remote_file_backup.sh |grep -v grep

Snipaste_2022-07-11_19-25-40.png

验证 同步效果

在hosta操作

增加一个文件 audit.log到 /opt/opsmgr/backup

[root@hosta backup]# cp /var/log/audit/audit.log ./

Snipaste_2022-07-11_19-26-55.png

在hostb操作 验证效果

Snipaste_2022-07-11_19-27-54.png

4.3备份数据 自动清理

登陆hostb 10.19.222.135操作

需要保留9天 /home/backup/backup的 数据 ,通过定时任务 每天凌晨来执行删除 9天前的文件 来实现 。

crontab -e 写入下面的内容

0 0 * * * find /home/backup/backup -type f -mtime +8 -exec rm {} \;

验证内容是否有误 crontab -l(小写 L)

Snipaste_2022-07-11_19-29-05.png

扫描二维码推送至手机访问。

版权声明:本文由Q师傅知识库发布,如需转载请注明出处。

本文链接:https://www.greatqiu.cn/?id=115

分享给朋友:

“CentOS7 rsync+inotify异机实时备份部署方案” 的相关文章

linux 更改服务器时区,linux修改系统时间和linux查看时区、修改时区的方法

linux 更改服务器时区,linux修改系统时间和linux查看时区、修改时区的方法

一、查看和修改Linux的时区1. 查看当前时区命令 : "date -R"2. 修改设置Linux服务器时区方法 A命令 : "tzselect"方法 B 仅限于RedHat Linux 和 Cen...

公网平台通过MobaXterm快速实现ssh隧道,通过代理服务访问内网设备

公网平台通过MobaXterm快速实现ssh隧道,通过代理服务访问内网设备

1.      MobaXterm是一款集合了全能型终端的神器,支持SSH、FTP、串口、VNC等等等功能,下面介绍如何使用mobaXterm快速搭建ssh隧道实现在外网进入新体系架构的运管...

海康威视平台软件MariaDB数据库断电之后异常恢复操作

海康威视平台软件MariaDB数据库断电之后异常恢复操作

夏天的时候服务器经常无故断电,导致MDB数据损坏,现象是SAC配置界面数据消失,高级参数无法选择图片支援池如果SAC下面没有添加存储设备,那就删除SAC 和 MDB,再重新安装SAC 和MDB即可,如果SAC 下面有数据,切平台...

Centos7  root密码忘记重置方法(重置root密码)

Centos7 root密码忘记重置方法(重置root密码)

CentOS7 root忘记密码重置恢复1、重启操作系统待出现以下界面时,按方向键选择第一行,按e进行编辑2、按方向键移动光标至linux16 开头的行,按要求ro 修改为rw,光标移动至UTF-8 末尾,增加init=/bin/sh,完成...

linux下一分钟掌握网络抓包(tcpdump)

linux下一分钟掌握网络抓包(tcpdump)

“tcpdump是网络数据采集分析工具,tcpdump可以将网络中传送的数据包完全截获下来提供分析析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。”   ...

世界各地数据中心的电源线类型您了解多少?

世界各地数据中心的电源线类型您了解多少?

我们都知道在不同的国家或地区会使用许多不同的插头和插座,当然这里也包括分散在世界各地的数据中心。世界上使用的标准不止一种,不同的国家可能使用不同的电源线类型,不同的插头和连接器,特别是插头类型。这里我们就来对各种类型及标准的电源插头和插座做...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。