数据高可用,分为静态的网站数据和数据库数据
首先进行对静态数据的高可用,采用rsync+inotify:
a.rsync的搭建
分为1.配置文件,2.开启守护进程xinetd对rsync的监听.3.创建同步目录(指定则不需要)4.配置同步密码
1.配置文件实例
/etc/rsyncd.conf
uid = nobody
gid=nobody (uid和gid配置了上传过来的文件属主信息)
user chroot=no
max connections=200
timeout=600
pid file=/var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file=/var/log/rsyncd.log
[backup] 同步的标识位
path=/backup/
ignore errors
read only = no
list =no
hosts allow =192.168.1.1/255.255.255.0
auth users=test ,这个用户需要在系统中真实存在
secrets file=/etc/rsyncd.password
2.通过xinetd进行守护
将其中的disable改为no
3.创建同步目录 /backup/
mkdir ,chmod -R 777 /backup
4.echo "test:test" > /etc/rsyncd.password
在客户端 ,新建password文件。echo "test:test" > /etc/rsyncd.password
使用同步命令即可将本机数据同步到服务器
rsync -vzrtopg --delete /home/backup test@server::backup --password-fiel=/etc/rsyncd.password
b.inotify的搭建
1.确实是否支持
2.安装itotify-tools
3,配置好rsyncd
4.编写脚本,通过inotifywait 进程监听 对应文件夹是否变化,一旦变化则触发相应的rsync同步脚本。保证了数据的一直性
inotify脚本配置如下
#!/bin/sh
src=/opt/webmail
des=/tmp
ip=192.168.7.192
/usr/local/bin/inotifywait-mrq--timefmt '%d/%m/%y %H:%M'--format '%T %w%f' \
-e modify,delete,create,attrib \
${src} \
| while read file
do
rsync -avz--delete--progress ${src} root@${ip}:${des}&&
echo "${src} was rsynced"
echo "---------------------------------------------------------------------------"
done