rsync远程同步

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

转载于:https://blog.51cto.com/13555753/2060535

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值