rsync远程同步
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rsync远程同步相关的知识,希望对你有一定的参考价值。
rsync远程同步
rsync主要实现快速、安全、高效的异地备份,并且实现数据同步。
1、配置rsync源服务器A(同步源提供数据的原始位置,发起端读取同步源的数据)
1)建立/etc/rsyncd.conf配置文件
Vi /etc/rsyncd.conf
注意:如果采用匿名同步的方式,只要将其中的auth users和secrets file配置记录去掉就可以了。
1)为备份账户创建数据文件
Vi /etc/rsyncd_users.db
1)启动rsync服务程序
如果要结束rsync进程,可以执行kill $(cat /var/run/rsyncd.pid)
2、使用rsync备份工具(在rsync客户机,发起端,服务器B)
1)例:将文件/etc/fstab、目录/boot/grub同步备份到/opt目录下(相当于本地备份)
1)例:将rsync同步源上的网站根目录下载到本地的/root下进行备份(远程备份)
首先要配置防火墙:
然后确认rsync同步源上的网站根目录:
最后在rsync客户机上执行备份
注意: chmod 600 /etc/rsyncd_users.db
查看/root下有没有网页
1)例:将源服务器中的wwwroot共享模块(网站根目录),下载到本地的/myweb目录下,
(删除目标位置有而原始位置没有的文件)
首先确认在客户机上的/myweb下只有一个网页(zhongqiu.html)
然后执行备份
查看在客户机的/myweb
(里面只有同步源服务器上的网页,本地的zhongqiu.html备份删除,因为加了--delete的备份选项)
1)例:每天晚上22:30对服务器的网站做一次同步
首先创建一个密码文件,保存backuper的密码
里面内容为:
然后设置权限,并做计划任务:
编辑任务计划(crontab -e)
删除客户机的/myweb下的所有数据
当前时间为10:50,我把计划任务设置为10:52(设置完需要重新启动crond服务)
重启服务
时间到了之后查看:
3、配置rsync+inotify实时同步
作用:将rsync工具与inotify机制相结合,可以实现触发式备份(实时同步),
只要原始位置的文档发生变化,则立即启动增量备份操作。
1)调整inotify内核参数(文件数量较多或者变化较频繁时需要调整,把数值加大)
Vi /etc/sysctl.conf
执行sysctl -p更新
1)安装inotify-tools
然后执行make && make install
3)以监控网站目录/var/www/html为例
(当/var/www/html进行增删改查的时候就会动态显示监控信息)
(编写触发式同步脚本)
实验目标:检测本机/var/www/html目录,一旦有更新就触发rsync的同步操作,
上传备份至服务器192.168.1.7的/var/www/html目录下,实现网站同步,保持两个站点的文件一致。
类似于dns的主从复制。
首先在同步源上进行操作:(配置ssh源分为四步)
1)创建用户rput
useradd rput && passwd rput
2)开启sshd服务
[[email protected] html]# service sshd start
3)允许rput用户登录
Vi /etc/ssh/sshd_config
AllowUsers [email protected]
3)启用密钥对验证
Vi /etc/ssh/sshd_config
配置发起端:(实现实时同步需要使用秘钥对的方式验证身份)
1)建立秘钥对文件实现无交互式登录(参考远程控制访问系统)
[[email protected] html]# ssh-keygen -t rsa
创建过程一路回车就可以了
将公钥文件上传至服务器
[[email protected] html]# scp ~/.ssh/id.rsa.pub [email protected]:/tmp
在服务器中导入公钥文本
Mkdir -p /home/rput/.ssh/
Cat /tmp/id_rsa.pub >> /home/rput/.ssh/authorized_keys
)在发起端安装inofity工具
安装inotify-tools
然后执行make && make install
3)编写触发式同步脚本
Vi /opt/inotify_rsync.sh
3)执行脚本
设置权限:Chmod +x /opt/inotify_rsync.sh
设置开机自动启动:Echo ‘/opt/inotify_rsync.sh’>> /etc/rc.local
执行脚本sh /opt/inotify_rsync.sh
注意:如果同步失败,在服务器上把/var/www/html目录设置为所有人写入权限。
Chmod -R 777 /var/www/html
4)清空客户端/var/www/html中的网页(方便测试)
3)在/var/www/html中添加网页a.html
3)在服务器192.168.1.7上查看/var/www/html中有没有a.html (如果有代表同步正常)
至此安装和配置完成rsync远程同步系统
以上是关于rsync远程同步的主要内容,如果未能解决你的问题,请参考以下文章