一、rsync服务搭建
1.1、安装rsync软件
命令:yum -y install rsync
代码语言:javascript复制1 yum -y install rsync
1.2、修改rsync配置文件
代码语言:javascript复制 1 uid = rsync #备份目录的属主
2 gid = rsync #备份目录的属组
3 use chroot = no #root不转变身份
4 fake super = yes #伪超级管理员身份
5 max connections = 200 #最大连接数200
6 pid file = /var/run/rsyncd.pid #pid文件位置
7 lock file = /var/run/rsyncd.lock #lock文件位置
8 log file = /var/log/rsyncd.log #rsync的日志文件
9 #transfer logging = yes
10 timeout = 300 #超时时间300秒
11 ignore errors #发生错误忽略继续备份
12 read only = false #可读可写
13 list = false #不允许查看模块信息列表
14 hosts allow = 192.168.0.9/24 #白名单
15 hosts deny = 0.0.0.0/32 #黑名单
16 auth users = rsync_backup #连接rsync服务器的认证用户
17 secrets file = /etc/rsync.password #连接rsync服务器的密码文件,用于免交互连接rsync服务器
18 #ignore nonreadable = yes
19 [backup] #模块名称,用于指定备份目录位置。rsync备份时只需要指定模块名称即可,就可以将分、备份保存在备份目录中
20 path = /backup #指定备份目录位置
1.3、创建备份目录和修改备份目录的属组属主
代码语言:javascript复制1 [root@backupserver /]# mkdir -p /backup
2 [root@backupserver /]# chown -R rsync:rsync /backup/
3 [root@backupserver /]# ll |grep backup
4 drwxr-xr-x 2 rsync rsync 6 Jan 20 16:43 backup [root@backupserver /]#
5 [root@backupserver /]#
6 [root@backupserver /]#
7 [root@backupserver /]# vim /etc/rsync.password
8 rsync_backup:admin1234
1.4、启动rsync服务和设置开机自启动
代码语言:javascript复制1 [root@backupserver /]# systemctl start rsyncd
2 [root@backupserver /]# systemctl enable rsyncd
3 Created symlink from /etc/systemd/system/multi-user.target.wants/rsyncd.service to /usr/lib/systemd/system/rsyncd.service.
4 [root@backupserver /]#
5 [root@backupserver /]#
1.5、客户端验证rsync服务是否可用
客户端配置:
1.5.1、安装rsync软件
命令:yum -y install rsync
1.5.2、创建密码文件,避免交互
代码语言:javascript复制1 [root@webserver etc]# vim rsync.password
2
3 admin1234
1.5.3、测试rsync备份
命令:
代码语言:javascript复制1 [root@webserver etc]# rsync -avz /etc/passwd rsync_backup@192.168.0.11::backup --password-file=/etc/rsync.password #备份命令
2 sending incremental file list
3 passwd #传输的文件名称
4
5 sent 616 bytes received 43 bytes 1,318.00 bytes/sec
6 total size is 1,310 speedup is 1.99
7 [root@webserver etc]#
命令详解:
-avz:-a这是一个复合参数,这个具体需要自己去了解,-v:可视化,将备份传输的过程和结果显示在终端,-z:传输时进行压缩
/etc/passwd:要被备份的文件或者目录
rsync_backup:rsync服务器中配置文件中的认证用户
@:连接符,没有特殊作用
192.168.0.11:rsync服务器的IP地址
::backup :rsync服务器中配置文件中的模块名称,主要用于指定备份目录
--password-file:指定密码认证文件,里面存储了rsync连接的认证密码。用于免交互连接rsync服务器
上图表示rsync配置成功。
二、inotify服务搭建
2.1、下载安装inotify-tools软件
2.2、执行inotifywait命令监控需要备份的目录
其实这里只需要安装inotify-tools软件即可,因为后面的sersync服务会启用inotify软件。那这里就只把命令写出来
命令:inotifywait -mrq /mnt -e create
代码语言:javascript复制1 inotifywait -mrq /mnt -e create
命令详解:
-m:持续监控
-r:递归,包括监控子目录的变化
-q:尽量在终端少输出信息
-e:指定监控的动作,包括创建,删除,修改等。
三、sersync服务搭建
3.1、下载安装sersync软件
下载地址:https://github.com/wsgzao/sersync/archive/master.zip
命令:
代码语言:javascript复制[root@webserver src]# wget https://github.com/wsgzao/sersync/archive/master.zip
[root@webserver sersync]# cd /usr/local/src/
[root@webserver src]# unzip master.zip
Archive: master.zip
e6e4cda2583a73a5581d7015255838b5e68673c6
creating: sersync-master/
inflating: sersync-master/.gitattributes
inflating: sersync-master/.gitignore
inflating: sersync-master/README.md
inflating: sersync-master/inotify-tools-3.14.tar.gz
extracting: sersync-master/rsync-3.1.1.tar.gz
inflating: sersync-master/sersync2.5.4_64bit_binary_stable_final.tar.gz
[root@webserver src]# cd sersync-master/
[root@webserver sersync-master]# tar -xvzf sersync2.5.4_64bit_binary_stable_final.tar.gz
GNU-Linux-x86/
GNU-Linux-x86/sersync2
GNU-Linux-x86/confxml.xml
[root@webserver sersync-master]# mkdir/usr/local/sersync
[root@webserver sersync-master]# mv GNU-Linux-x86/* /usr/local/sersync/
[root@webserver sersync-master]# cd /usr/local/sersync/
[root@webserver sersync]# ls confxml.xml sersync2
3.2、修改配置文件/usr/local/sersync/confxml.xml
3.3、启动sersync服务
命令:
代码语言:javascript复制[root@webserver sersync]# /usr/local/sersync/sersync2 -rdo /usr/local/sersync/confxml.xml >/usr/local/sersync/rsync.log 2>&1 & #启动sersync服务
[1] 13151
[root@webserver sersync]#
命令详解:
-r:在监控前将需要备份的目录里面的内容推送到备份目录中,确保数据的统一性
-d:以守护进程运行
-o:指定sersync的配置文件
$:最后一个&试讲sersync进程放到后台进行
3.4、查看和验证实时同步
上面两个图可以看出两台服务器备份内容已经一致,接下来看是否能实时同步