实验环境:同步源rerver 192.168.66.66
发起端 :client 192.168.66.101
实验思路
建立rsyncd.conf配置文件、独立的账号文件 |
启用rsync --daemon模式 |
用户ly ,允许下行同步 |
操作的目录为 /var/www/html/ 配置文件rsyncd.conf |
需手动建立,语法类似于Samba配置 |
同步源:创建reyncd.conf配置文件 vim /etc/rsyncd.conf
uid = nobody 【任何人】
gid = nobody
use chroot = yes
address = 192.168.4.200
port 873
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
【允许访问的客户机地址】
hosts allow = 192.168.10.0/24
[wwwroot]
path = /var/www/html
comment = Document Root of www1.benet.com
read only = yes【一般rsync用于下行,只读就可以】
【同步时不再压缩的文件】
dont compress = *.gz *.bz2 *.tgz *.zip *.rar *.z
【用户认证信息,如果需要匿名访问,将下列取消】
auth users = ly
secrets file = /etc/user_list
创建账号:vi /etc/user_list
必要的账号 格式 名字:密码
由于是明文密码,需要设置文档权限
chmod 600 /etc/user_list
启动一下服务 rsync --daemon
netstat -anpt | grep rsync 查看是否开启:netstat -anpt | grep rsync
创建文件测试:touch /var/aaa/mmm /[1..4].txt
测试文件可以随意创建
RSYNC备份工具
a:归档模式,递归并保留对象属性,等同于 -rlptgoD 【-rlptgoD】 |
RSYNC同步方法
rsync -avzH ly@192.168.66.66::wwwroot /var/www/html | 用户名@主机地址::共享模块名 |
lrsync -avzH --delete rsync://ly@192.168.10.1/wwwroot /var/www/html | rsync://用户名@主机地址/共享模块名】 |
rsync源的免交互处理,不需输入密码
编辑配置文件 设置密码 | vim /etc/server.pass 123 |
配置文件需要权限 | chmod 600 /etc/server.pass |
验证一下 | rsync -avzH --delete --password-file=/etc/server.pass rsync://ly@192.168.66.66/wwwroot /var/www/html |
查看一下文件 | ll/var/www/html |
定期同步与实时同步
定期同步的不足 执行备份的时间固定,延迟明显、实时性差 当同步源长期不变化时,密集的定期任务是不必要的 |
定期同步的不足 执行备份的时间固定,延迟明显、实时性差 当同步源长期不变化时,密集的定期任务是不必要的 |
实验过程:步骤1
修改参数inotify
cat /proc/sys/fs/inotify/max_queued_events 16384 | 监控队列大小 |
cat /proc/sys/fs/inotify/max_user_instances 128 | 最多监控实例数 |
cat /proc/sys/fs/inotify/max_user_watches 8192 | 每个实例最多监控文件数 |
要监控数量较多或者变化比较频繁,建议使用最大值,要知道加到监控文件如图所示
重启服务:sysctl -p
步骤2
安装inotify-tools辅助工具
使用inotify 还需要安装以便提供辅助用来监控情况inotify-tools-3.14.tar.gz版本
1: tar zxf inotify-tools-3.14.tar.gz
2: cd inotify-tools-3.14
3: ./configure
4: make
5: make install
在发起端运行命令,实时监控同步源服务器目录,inotifywait命令就可以满足触发备份需要 | inotifywait -mrq -e modify,create,move,delete /var/www/html |
-m -r -q -e -mofiy -create move -delete | 持续进行监控 修改文件内容 |
编写脚本:vi /opt/inotify -rsync.sh
chmod +x /opt/inotify_rsync.sh
echo '/opt/inotify_rsync.sh' >> /etc/rc.local
写好的脚本,用来测试本机是否可以同步
总结
1.rsync作用
*一款快速增量备份工具【Remote Sync,远程同步】
远程灾难备份功能
2.定期同步的不足
执行备份的时间固定,延迟明显、实时性差
当同步源长期不变化时,密集的定期任务是不必要的
3.实时同步的优点
一旦同步源出现变化,立即启动备份
只要同步源无变化,则不执行备份
4.inotify
可以监控文件系统的变动情况,并作出通知响应