inotify加rsync备份mysql_rsync+inotify同步备份

1.rsync与scp区别

scp无法备份大量数据,先统计文件信息,后进行拷贝,如果文件大小超出磁盘空间,则无法拷贝

rsync边复制,边比较,边统计

2.rsync特点

(1.)支持增量备份

(2.)选择性的保持:符号链接,硬链接,文件属性,权限,时间

(3)传输前执行压缩,适用于异地备份,镜像服务器等应用。

(4.)使用ssh作为传输端口,sftp,ssh

(5.)rsync默认端口 873,是c/s架构,可以直接使用rsync命令,进行点到点的传输 。

(6.)官网:http://rsync.samba.org 推荐开源网站下载:https://sourceforge.net/

3.同步数据的方式

(1.)推:一台主机负责将数据传给其他主机,服务器开销大,适合后端服务器比较少

(2.)拉:所有知己定时去找一台主机拉数据,可能会导致数据同步缓慢。

一般做法:推拉结合,即主机A先将数据推送给主机B和主机C,然后其他主机D,E,F从B和C主机上拉取数据。

4.rsync安装

rpm -qf `which rsync`

ls /etc/xinetd.d/rsync

rpm -ivh /mnt/Package/xinetd-2.3.14-33.el6.x86_64.rpm

开启rsync服务

vim /etc/xinetd.d/rsync

将disable改为no

rsync监听端口 TCP 873

5.rsync命令基本用法

格式:rsync [选项] 源文件 目标文件

rsync 选项 用户名@备份源服务器IP::共享模块名 目标目录

-a 归档

-p 保持原有文件权限

-t 保持原有文件时间

-g 保持原有文件的用户组

-o 保持原有文件的属主

-z 压缩传输

-P 显示传输进度

--delete 删除那些目标位置有而原始位置没有的文件

6.创建sync用户

useradd rget1

echo "123456" | password --stdin rget1

useradd rput1

echo "123456" | password --stdin rput1

设置权限

setfacl -R -m user:rput1:rwx /var/www/html/

serfacl -R -m user:rget1:rwx /var/www/html/

setfacl -R -m default:rget1:rwx /var/www/html/

getfacl /var/www/html/

7.同步文件

rsync -azP --delete rget1@192.168.1.63:/var/www/html/ /web-back/

注意:文件的权限要有拷贝的权限,如果没有加权限。

8.免密传输

ssh-keygen -t rsa //一路回车

ssh-copy-id rget1@192.168.1.63

ssh rget1@192.168.1.63 //测试登录

//实现无交互脚本

export RSYNC_PASSWORD=xxx

rsync -avz backer@192.168.1.63::www/root /web-back/

9.定期增量备份

crontab -e

0 1 3 * * * /root/rsync.sh //写一个同步脚本,定时同步数据

10.配置rsync服务器

(1.)创建自己的配置文件

/etc/rsyncd.conf

全局参数:对于rsync服务器生效,如果模块参数冲突,模块参数生效。

模块参数:定义rsync输出的目录的参数

(2.)创建备份账户,以daemon的方式运行rsync

11.添加防火墙规则

iptables -A INPUT -p tcp --dport 873 -j ACCEPT

/etc/init.d/iptables save

12.rsync与inotify实现同步机制

uname -a //内核版本大于2.6.13即可

ll /proc/sys/fs/inotify/ //三个文件表示:监控事件队列 监控实例数 监控文件数

可以修改上述三个文件中的数字,vi /etc/sysctl.conf配置文件

fs.inotify.max_queued_events=32768

fs.inotify.max_users_instances=1024

fs.inotify.max_watches=90000

修改后,使文件生效

sysctl -p

查看是否修改成功

cat /proc/sys/fs/inotify/max_user_watches

(3.)安装inotify

tar -zxvf inotify-tools-3.1.3.tar.gz

./configure

make -j 4 //指定4核cpu进行编译

make install

(4.)inotifywait 用法

-e 用于指定监控哪些事件 creat delete move modify

-m 持续监控

-r 递归整个目录

-q 简化输出

示例:

inotify-wait -mrq -e create,move,delete,modify /var/www/html/

相关链接

----------------------------------【喜欢打赏】-------------------------------------------

小主,辛苦啦!文章棒棒哒,赏杯咖啡吧...

----------------------------------【喜欢打赏】-------------------------------------------

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值