数据同步是一种备份手段,可以使服务器安全性更高
rsync+inotify-tools与rsync+sersync架构的区别?
rsync+inotify-tools对于数据同步花费时间会比较多,它只能监听目录的变化,但是无法得知具体是那个目录发生了变化,如果监听目录过大,每次都会对整个目录进行查找,备份时使用的资源就会变大,效率低。
rsync+sersync在数据同步时可以监听目录中的变化,在进行数据同步是仅仅只会对发生改变的目录进行备份,占用资源少,效率高。
步骤:
1、在源数据服务器开启serync服务,监控目录变化
2、用rsync命令进行同步
3、进行配置sersync 在目标服务器进行配置rsync server
原理:
1、用户实时在sersync写入数据
2、源服务器配置了sersync服务
3、备份服务器开启rsync服务,可以同步获取源服务器上监控目录的变化
操作步骤:
开启两台linux
这里我们把centos01当作源服务器,centos02当作备份服务器用xshell进行连接
在第一台上进行安装rsync和httpd
开始配置rsync
vim /etc/rsyncd.conf
address = 192.168.200.111
hosts allow = 192.168.200.0/24
read only = no
dont compress = *.gz *.bz2 *.tgz *.zip *.rar *.z
secrets file = /etc/rsyncd_users.db
基于安全考虑我们可以对rsync的备份源进行权限控制
chmod 600
2、我们需要对备份的用户进行创建和设置密码
vim /etc/rsyncd_users.db
注意文件名必须和配置文件中的一致
进入文件创建用户和密码
注意用户名要和配置文件中一致
为了防止密码信息泄露我们要对文件进行权限管理
chmod 600 /etc/rsyncd_users.db
对需要共享的文件进行权限管理
chmod 777 /var/www/html
查看权限
ls -ld /var/www/html/
启动服务
rsync –-daemon
关闭服务
killall rsync
查看服务
netstat -anpt |grep rsync
在备份服务器上安装httpd
yum -y install httpd
重新启动
systemctl restart httpd
2、为了方便我们可以在备份服务器创建密码文件,使用rsync –-password-file 指定文件免密登录
echo "pwd123" > /etc/server.pass
设置权限
chmod 600 /etc/server.pass
进行免密码交互
rsync -az --delete --password-file=/etc/server.pass /etc/hosts qianming@192.168.200.111::wwwroot
在源服务器上查看是否备份成功
ls /var/www/html/
测试这一步成功才可以做下面的内容,不成功可以去看看配置文件是否有问题
下载sersync
goodle code地址 https://code.google.com/archive/p/sersync/downloads
Git Hub 镜像地址 GitHub - orangle/sersync: just a git mirror of sersync
在备份服务器上进行解压
tar -zxf sersync2.5.4_64bit_binary_stable_final.tar.gz -C /usr/local/
进入解压后的目录
cd /usr/local/
把文件放到一个醒目的文件夹里
mv GNU-Linux-x86/ sersync
进入文件夹
cd sersync/
备份源目标文件防止丢失
cp confxml.xml confxml.xml.$(date +%F)
进入文件开始更改
vim confxml.xml
24行和25行
<localpath watch="/var/www/html"> # 本地同步目录
<remote ip="192.168.200.111" name="wwwroot"/>
#服务器地址和 rsync模块名
31行更改用户名和密码文件
<auth start="true"
users="qianming" //用户
passwordfile="/etc/server.pass"/> //密码文件
保存后开启进程同步数据
./sersync2 -d -r -o /usr/local/sersync/confxml.xml
watch path is: /var/www/html 开始监听指定目录
进入目录测试同步效果
cd /var/www/html/
mkdir benet
touch {1..4}.txt
进入备份服务器查看
配置完成
31行更改用户名和密码文件
<auth start="true"
users="qianming" //用户
passwordfile="/etc/server.pass"/> //密码文件
保存后开启进程同步数据
./sersync2 -d -r -o /usr/local/sersync/confxml.xml
watch path is: /var/www/html 开始监听指定目录
进入目录测试同步效果
cd /var/www/html/
mkdir benet
touch {1..4}.txt
进入备份服务器查看
配置完成