如何在Linux服务器中实现数据实时同步及备份

如题所述

科技时代,任何行业都离不开数据的分析以及统筹,如果掌握了最关键的数据及技术,那成功就指日可待,所以数据对于一个企业来说,就是最无形的财富,而一个企业的数据基本都有服务器保存及管理着,如何保证数据安全,实现数据同步及备份?诚恺科技小编就同大家一起来看看在Linux服务器中利用rsync配合inotify实现数据实时同步及备份的方法。
rsync:可以镜像保存整个目录树和文件系统。可以很容易做到保持原来文件的权限、时间、软硬链接等等。第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件。
方案:起初用rsync进行数据备份是利用计划任务,定时执行一下命令实现rsync的同步,但最近开发这边修改比较频繁,看来需要实时同步备份来完善备份机制!所以需要利用inotify触发器来改善!达到一旦指定的位置有了新的变动就将其同步!
环境:
CentOS 6.4 64位
rsync-3.0.9
inotify-tools-3.14

说明:
10.10.1.6 (rsync+inotify)----------网站程序(/data0/htdocs/)
10.10.1.9 (rsync)------------------网站程序备份(/data0/htdocs/)
目的:
实现10.10.1.6的/data0/htdocs/目录下发生任何变动都将实时同步到10.10.1.9的/data0/htdocs/上(另,这两台都跑有keepalived+nginx,来实现出现故障自动切换的容灾,详细配置会在后面补上)
一、web服务器10.10.1.6 (rsync+inotify)
1、准备软件包
2、安装Rsync
1)、1234 tar-zxvf rsync-3.0.9.tar.gz
2)、cdrsync-3.0.9
3)、./configure--prefix=/usr/local/rsync
4)、make;makeinstall
建立密码认证文件
[root@ftp ~]# echo "111111">/etc/rsyncd/rsyncd.secrets建立密码认证文件
*其中111111可以自己设置密码,rsyncd.secrets名字也可以自己设置;
权限:要将/etc/rsyncd/rsyncd.secrets设置为root拥有, 且权限为600。
# chmod 600 /etc/rsyncd/rsyncd.secrets
3、安装inotify
1)、1234 tar-zxvf inotify-tools-3.14.tar.gz
2)、cdinotify-tools-3.14
3)、./configure--prefix=/usr/local/inotify
4)、make;makeinstall
4、创建rsync复制脚本
此项功能主要是将ftp端的目录/data0/htdocs/里的内容,如果修改了(无论是添加、修改、删除文件)能够通过inotify监控到,并通过rsync实时的同步给10.10.1.9的/data0/htdocs里,下面是通过shell脚本实现的。
[root@web ~]# vim /root/shell/rsync.sh

[root@web ~]# chmod u+x /root/shell/rsync.sh
[root@web ~]# setsid /root/shell/rsync.sh &
#后台运行脚本,关闭shell终端继续后台运行
rsync.sh脚本加入开机启动项
# echo "/root/shell/rsync.sh" >> /etc/rc.local
防火墙开启rsync端口:873
添加:
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 873 -jACCEPT
重启:
# /etc/init.d/iptables restart
二、备份服务器10.10.1.9(rsync)
1、准备工作
创建备份目录:
# mkdir /data0/htdocs
2、安装rsync(备份主机只安装rsync)
1)、1234 tar-zxvf rsync-3.0.9.tar.gz
2)、cdrsync-3.0.9
3)、./configure--prefix=/usr/local/rsync
4)、make;makeinstall
3、建立用户与密码认证文件
[root@backup ~]# echo "root:111111" > /etc/ rsyncd/rsyncd.secrets
[root@backup ~]# less /etc/rsyncd/rsyncd.secrets
root:111111
注意:
请记住,在10.10.1.6端建立的密码文件,只有密码,没有用户名;而在10.10.1.9里建立的密码文件,用户名与密码都有。
权限:要将/etc/rsyncd/rsyncd.secrets设置为root拥有, 且权限为600。
#chmod 600 /etc/rsyncd/rsyncd.secrets
4、建立rsync配置文件
[root@backup ~]# vim /etc/rsyncd/rsyncd.conf

启动rsync服务
# /usr/local/rsync/bin/rsync --daemon --config=/etc/rsyncd.conf
# ps -ef |grep rsync
Rsync服务加入开机启动项
# echo "/usr/local/rsync/bin/rsync --daemon --config=/etc/rsyncd.conf" >> /etc/rc.local
防火墙开启rsync端口:873
添加:
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 873 -jACCEPT
重启:
# /etc/init.d/iptables restart
完成,其实这个时候数据已经同步了!
测试一下:
由于/data0/htdocs/下涉及到一些公司信息,所以就以/data0/htdocs/tmp/为例

主机名可以区别是两台机器,里面的内容完全一直,连文件的属性都一样
再对里面修改一下试试,创建一个文件,然后删除user目录试试
温馨提示:内容为网友见解,仅供参考
无其他回答

如何在Linux服务器中实现数据实时同步及备份
10.10.1.9 (rsync)---网站程序备份(\/data0\/htdocs\/)目的:实现10.10.1.6的\/data0\/htdocs\/目录下发生任何变动都将实时同步到10.10.1.9的\/data0\/htdocs\/上(另,这两台都跑有keepalived+nginx,来实现出现故障自动切换的容灾,详细配置会在后面补上)一、web服务器10.10.1.6 (rsync+inotify...

Linux中使用数据备份同步工具Rsync的实例教程
方法:半夜花了一个多小时查看了rsync的文档,发现有一个参数能快速恢复大文件的增量同步,append。设置append参数会在增量同步时计算文件大小并直接追加新的数据到文件,这样就省了费IO校验的过程。不过这个参数最好只在源文件和目标文件都不会更改的时候使用比较安全,比如备份的文件。

Linux下rsync+sersync实现数据实时同步
测试同步功能时,在源服务器的\/home目录下创建用户目录和新建文件,检查目标服务器上是否实时同步显示。确保一切正常工作,以实现有效数据同步。

详解Linux系统sersync数据实时同步
在进行数据同步前,首先需要对服务器环境进行配置。对于客户端,需要安装并配置rsync服务,包括添加用户、改变目录权限、配置密码文件、改变密码文件权限、格式化文件以及开启服务后台运行等步骤。对于主服务器,配置密码文件是关键步骤之一。测试手工同步以验证同步是否成功,一旦成功,即可进行下一步的sersync服务...

linux系统安装rsync和sersync实现数据实时同步详细步骤
小结:当同步的目录数据量不大时,建议使用Rsync+Inotify-tools;当数据量很大(几百G甚至1T以上)、文件很多时,建议使用Rsync+sersync。说明:操作系统:CentOS 5.X源服务器:192.168.21.129目标服务器:192.168.21.127,192.168.21.128目的:把源服务器上\/home\/www.目录实时同步到目标服务器的\/home\/www.下具体操作:第一...

使用Linux下的btsync轻松实现数据同步linuxbtsync
在Linux系统中,BTSync通过Web GUI被控制,用户可在本地网络和互联网上创建文件同步,当文件发生变化时自动同步数据。默认情况下,用户可在http:\/\/localhost:8888\/gui\/中设置BTSync,当然,用户也可以从命令行设置,只需运行btsync –config文件所述,即可操作btsync。此外,BTSync可以通过API进行...

linux系统怎么备份同步?
对于希望在不同电脑上同步系统设置和软件的用户,可以采用备份完整系统或关键数据的方式。使用dump工具进行完整备份,然后在另一台电脑上使用restore进行完整还原。避免备份设备文件,如磁盘分区表,以免因硬件环境不同而出现问题。可以使用tar工具进行归档备份,选择特定目录进行归档,如\/usr、\/etc、\/opt等。

如何在Linux服务器中备份
linux系统下使用脚本定时备份数据库,代码如下:!\/bin\/bash Setting 设置数据库名,数据库登录名,密码,备份路径,日志路径,数据文件位置,以及备份方式 默认情况下备份方式是mysqldump,还可以是mysqldump,mysqldotcopy,如果注释掉第 18行,则默认以tag的方式备份 默认情况下,用root(空)登录mysql数据库...

rsync,强大的同步文件工具
文件路径:rsync路径可为相对或绝对路径,相对路径基于当前目录,需注意当前目录位置。SSH连接:使用SSH连接远程主机需确保远程主机已安装SSH服务,用户名与密码正确。可使用SSH密钥认证,避免输入密码。备份安全:备份数据安全重要,需设置备份目录权限与文件所有权,避免未经授权访问。大文件传输:对于大文件传输...

Linux数据备份工具BorgBackup的简单使用
在寻找适合Linux环境的数据备份软件时,BorgBackup因其功能全面、高效且易于管理而脱颖而出。本文将聚焦于BorgBackup的常用命令,以帮助用户快速上手并高效利用此工具。在开始之前,建议对基本的Shell命令及文本编辑器(如vim或nano)有所了解。个人环境设置:在Ubuntu 22.04 LTS系统上,通过SSH连接服务器。

相似回答