码迷,mamicode.com
首页 > 其他好文 > 详细

rsync远程同步

时间:2018-01-13 14:24:28      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:sum   /etc   递归   创建用户   交互   开机   设置   boot   abc   

简介:一款快速增量备份工具
Remote Sync,远程同步
支持本地复制,或者与其他SSH、rsync主机同步
官方网站:http://rsync.samba.org/
在远程同步任务中,负责发起rsync同步操作的客户机称为发起端,而负责响应来自客户机的rsync同步操作的服务器称为同步源。在同步过程中,同步源负责提供文档的原始位置,发起端应对该位置具有读取权限。
rsync同步示意图:
技术分享图片
rsync命令的用法
基本格式:rsync [选项] 原始位置 目标位置
常用选项:
-a:归档模式,递归并保留对象属性,等同于 -rlptgoD
-v:显示同步过程的详细(verbose)信息
-z:在传输文件时进行压缩(compress)
-H:保留硬连接文件
-A:保留ACL属性信息
--delete:删除目标位置有而原始位置没有的文件
--checksum:根据对象的校验和
-r:递归模式,包含目录及子目录中所有文件
-l:对于符号链接文件仍然复制为符号链接文件
-p:保留文件的权限标记
-t:保留文件的时间标记
-g:保留文件的属组标记(仅超级用户使用)
-o:保留文件的属主标记(仅超级用户使用)
-D:保留设备文件及其他特殊文件

配置rsync同步源:
1.建立/etc/rsync.conf配置文件
技术分享图片
注意:如果采用匿名同步的方式,只要将其中的auth users和secrets file配置记录去掉就可以了。
2.为备份账户创建数据文件,vim /etc/rsync_users.db,添加一行用户记录,以冒号分隔,用户名称为“backuper”,密码为“abc123”
技术分享图片
3.启动rsync服务程序,运行参数为“--daemon”,若要关闭rsync服务,可以采取kill进程的方式,如kill $(cat /var/run/rsyncd.pid)
技术分享图片
4.使用rsync备份工具(在rsync客户机,发起端,服务器B)
1)例:将文件/etc/fstab、目录/boot/grub同步备份到/opt目录下(相当于本地备份)
技术分享图片
2)例:将rsync同步源上的网站根目录下载到本地的/root下进行备份(远程备份)
首先在服务器上配置防火墙,为了保证备份账户文件的安全,需要调整文件权限,避免账号信息泄露。并搭建一个简单的网页。
技术分享图片
3)执行远程备份
技术分享图片
4)例:将源服务器中的wwwroot共享模块(网站根目录),下载到本地的/myweb目录下,(删除目标位置有而原始位置没有的文件)首先确认在客户机上的/myweb下只有一个网页
技术分享图片
然后执行备份
技术分享图片
查看在客户机的/myweb(里面只有同步源服务器上的网页,本地的t385.html备份删除,因为加了--delete的备份选项)
技术分享图片
为了在同步过程中不用输入密码,需要创建一个密码文件。在执行rsync同步时使用选项“--password-file=密码文件路径”指定即可
技术分享图片
调整密码文件权限,创建任务计划
技术分享图片
技术分享图片
验证结果
技术分享图片
5.配置rsync+inotify实时同步
1)调整inotify内核参数,并让其生效
技术分享图片
技术分享图片
2)安装inotify-tools
技术分享图片
配置完后,执行make && make install命令
3)以监控网站目录/var/www/html为例(当/var/www/html进行增删改查的时候就会动态显示监控信息)
技术分享图片
6.编写触发式同步脚本
首先在同步源上进行操作(配置ssh)
1)创建用户rput: useradd rput && passwd rput
2)开启sshd服务: [root@web html]# service sshd start
3)允许rput用户登录: Vi /etc/ssh/sshd_config
添加:AllowUsers rput@192.168.1.8
技术分享图片
启用密钥对验证
技术分享图片
配置发起端:(实现实时同步需要使用秘钥对的方式验证身份)
1)建立秘钥对文件实现无交互式登录
技术分享图片
将公钥文件上传至服务器
技术分享图片
在服务器中导入公钥文本
技术分享图片
2)编写触发式同步脚本
Vi /opt/inotify_rsync.sh
技术分享图片
设置执行权限,和开机自启动
技术分享图片
注意:如果同步失败,在服务器上把/var/www/html目录设置为所有人写入权限。
Chmod -R 777 /var/www/html
技术分享图片
清空客户端/var/www/html中的网页(方便测试)
技术分享图片
在/var/www/html中添加网页aaa.html
技术分享图片
在服务器192.168.1.7上查看/var/www/html中有没有aaa.html (如果有代表同步正常)
技术分享图片

rsync远程同步

标签:sum   /etc   递归   创建用户   交互   开机   设置   boot   abc   

原文地址:http://blog.51cto.com/13555753/2060535

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!