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

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

Q师傅2022-07-11系统运维1048

一、 背景 需求

为了实现重要数据的异地备份,防止服务器故障导致数据丢失 而 影响业务连续运行 。 要求 实时检测 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

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

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

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

分享给朋友:

相关文章

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

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

夏天的时候服务器经常无故断电,导致MDB数据损坏,现象是SAC配置界面数据消失,高级参数无法选择图片支援池如果SAC下面没有添加存储设备,那就删除SAC 和 MDB,再重新安装SAC 和MDB即可,如果SAC 下面有数据,切平台录像计划已经下发,需要对MDB数据库进行手动恢复 注:案例中以10.192.10.20linux…

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

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

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

一张生图让你理解端口vlan

一张生图让你理解端口vlan

当我们使用交换机web 管理的时候,一般会出现端口taged和untaged概念,小编之前被这个逻辑搞晕了,经网上查询定义如下:使用display vlan VLAN ID命令,可以看到Tagged ports和Untagged ports。Untagged ports表示端口发送数据帧时去掉VLAN标签,通常是access端口。Tagged ports表示端口发送数据顿时带上VLAN标签,可能是…

通过BMC网络管理口安装HikvisionOS Linux系统

通过BMC网络管理口安装HikvisionOS Linux系统

海康平台安装部署环境需要基于HikvisionOS Linux系统,本文章主要讲述了海康威视定制的HikvisionOS Linux系统的安装过程,大家可以通过对该文章内容的阅读来理解和掌握如何安装HikvisionOS Linux系统,为自己在实际工作中正确安装HikvisionOS Linux系统做参考。 现在的HikvisionOS Linux系统可以通过以下3种方式安装: 1.通过BMC网…

海康威视服务器重做raid指导

<iframe src="//player.bilibili.com/player.html?aid=833327500&bvid=BV1mg4y197Ux&cid=1327960223&p=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true">…

linux 操作系统配置系统IP

linux配置ip地址有多种不同的方法,大家可以根据自己的需要来使用不同的方法配置ip地址。 方法一 ifconfig命令 使用 ifconfig 命令配置 IP 地址ifconfig 命令用于查看和配置网络接口, 可以使用该命令为网络接口配置 IP 地址。假设需要配置 eth0 网卡的 IP 地址为 192.168.1.100,子网掩码为 255.255.255.0,网关为 192.168.1.…

6k star!B站、滴滴、小红书都在用的网站防火墙

6k star!B站、滴滴、小红书都在用的网站防火墙

你有网站么?你担心网站被黑客攻击么?你知道如何抵御来自黑客的攻击吗? 据称互联网上有 30% 的流量都来自于恶意攻击。做过 Web 开发或者有过建站经验的朋友对 SQL 注入、CC 攻击、XSS、WebShell 等名词应该并不陌生,如果你经常在日志中看到各种奇奇怪怪的请求,这说明你的网站可能已经遭遇了黑客攻击。 SafeLine 简介 今天,推荐给大家的是一款在社区广受好评的网站防护工具 ——…

分享一个好用到起飞的it工具,IP地址修改器

分享一个好用到起飞的it工具,IP地址修改器

如果你的工作时,调试网络时会换不同的IP,有工具快速切换会舒服很多。现在为了方便管理,一个地方会有几十个VLAN,调试时,不断切换还是很累人的。程序主要原理还是利用了WMI的Win32_NetworkAdapter、Win32_NetworkAdapterConfiguration,还有Netapi32.dll及注册表补充来获取信息,硬件方面用了Setupapi.dll来控制网卡禁启用。…

docker九快记账项目安装方式更新,含Quick run和docker compose安装,新增多合一容器方便整洁

这个项目是关于如何在 Docker 中运行 MoneyNote,支持 amd 和 arm。 #### 如果在公共网络中运行,请注意 1. 默认的mysql root密码是78p7gkc1,请在安装后更改。2. 请更改默认的邀请代码。…

wordpress配置https(SSL)无法登录后台&页面样式丢失

小编用1panel,手动配置PHP运行环境安装的 wordpress  在开启SSL 之后,居然不能加载图片和CSS进过反复折腾,找到如下方法有效解决一、修改代码1、打开网站根目录文件\wp-includes\functions.php,找到代码 require( ABSPATH . WPINC . '/option.php' );大概在第8行。在下方添加以下代码:…

您正确了解保险丝了吗-保险丝常识普及

保险丝是一种电路保护元件,用于保护电路免受过大电流的损害。你提供的信息非常实用,这里我再简要总结一下:1. **保险丝的标识**:保险丝上的标识如“F1A250V”通常表示:   - “F”表示快断型保险丝。   - “1A”表示保险丝的额定电流是1安培。   - “250V”表示保险丝的额定电压是250伏特。2. **保险丝的尺寸**:…

H3C交换机开启 SSH 登录功能

ssh server enable #开启SSH服务 local-user XXX    #创建本地用户 password  simple ******  #设置简单密码 authorization-attribute user-role ne…

发表评论

访客

看不清,换一张

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