rsync的--daemon模式来同步数据
一、简介
Rsync是一款开源的、快速的、多功能的、可实现全量及增量(全量备份是指全部备份,增量备份是在上一次备份的基础上只备份更新的内容)的本地货远程数据同步备份的优秀工具。Rsync软件适用于unix/linux/windows等多种操作系统平台。
官网:http://www.samba.org/ftp/rsync/rsync.html
一个rsync相当于scp,cp,rm,但是还优于他们每一个命令。
在同步备份数据时,默认情况下,Rsync通过其独特的“quick check’算法,它仅同步大小或者最后修改时间发生变化的文件或目录,当然也可根据权限,属主等属性的变化同步,但需要指定相应的参数,甚至可以实现只同步一个文件里有变化的内容部分,所以,可以实现快速的同步备份数据
二、rsync的daemon模式:
使用rsync的daemon模式,一定要分清哪个是客户端,哪个是服务端
服务端:接收远端同步数据的主机
客户端:把本地数据发送出去的主机
1.服务端的配置
①检查rsync 是否启动:ps -ef|grep rsync|grep -v grep
root 3588 1 0 14:01 ? 00:00:00 rsync --daemon
②配置/etc/rsyncd.conf配置文件,如果没有,需要手动创建
sudo vim /etc/rsyncd.conf
uid = diaogid = diaouse chroot = nomax connections = 200timeout = 300pid file = /var/run/rsyncd.pidlock file = /var/run/rsync.locklog file = /var/log/rsyncd.log[backup]path = /backup/ignore errorsread only = falselist = falseauth users = diaosecrets file = /etc/rsyncd.password
注意事项:
1)uid、gid:当使用非root账号时,那么一定要确保服务的的文件夹是否有该非root账号写入的权限
2)use chroot = no :是否可以切换到root目录,当chroot为yes的时候,客户端连接模块的时候,先chroot到模块参数指定的目录下,必须使用root权限,端口号必须是1024以内,且不能备份path路径外的链接文件
3)max connections = 200 :表示同时最大的连接数,也就是同时只能有两个客户端对自己进行连接。
4)path = /backup/:表示的是当客户端把数据同步过来将保存的路径
5)read only = false :指定是否允许客户端上传文件。若为 true 则不允许上传;若为 false 并且服务器目录也具有读写权限则允许上传。
6)auth users = diao用来进行同步的用户
7)secrets file = /etc/rsyncd.password :表示的是账号密码文件,此文件可随意指定,文件里必须以username:password的格式
此文件权限必须为600,否则会报错,chmod 600 /etc/rsyncd.password
而服务端与客户端中的文件格式有所不同
其中:服务端文件需要填写用户名和密码,并且以冒号分割,客户端中只需填写密码即可
③创建目标文件夹/backup/
sudo mkdir /backupchown -R diao:diao /backup/ #这个文件必须有非root用户的写入权限
④配置/etc/rsyncd.password文件
sudo vim /etc/rsyncd.password
diao:123456 #用户名:密码格式
#把密码放在/etc/rsync.password中是因为不想再交互了
#当别人连过来,会连secrets file= /etc/rsync.password这个文件,会使用authusers = diao这个用户。
sudo chmod 600 /etc/rsync.password 修改这个文件的权限
⑤重启rsync(root用户或使用sudo)
sudo ps -ef|grep rsync|grep -v grep
root 3588 1 0 14:01 ? 00:00:00 rsync --daemon
sudo kill -9 3588
sudo rsync --daemon
2.客户端的配置
①/etc/rsyncd.conf和服务端相同
②配置/etc/rsyncd.password
123456 #这里只需输入密码就可以了
③重启rsync(root用户或使用sudo)
sudo ps -ef|grep rsync|grep -v grep
root 3581 1 0 14:01 ? 00:00:00 rsync --daemon
sudo kill -9 3581
sudo rsync --daemon
3.测试
sudo rsync -avz /tmp/ diao@hadoop100::backup --password-file=/etc/rsyncd.password
/tmp/ #需要同步的文件目录
注:这里tmp后面有无/的区别:有/的时候表示的是把/tmp/目录下的内容同步过去,即/backup目录下直接就是之前/tmp目录下的内容;而无/的时候表示的是把整个tmp目录及其下文件夹同步过去,即/backup目录下还有一级/tmp,再下面才是之前/tmp目录下的内容。
diao #用户名
hadoop100 #远端服务端主机名,也可写ip地址
backup #模块名称
rsync的--daemon模式来同步数据相关推荐
- 【rsync】工作模式及语法
前段日子在网上找rsync daemon的filter等过滤规则的详解,怎么也找不到,哥一怒之下,决定自己动手翻译,于是有了本文- 本文内容翻译自rsync的官方文档:http://rsyn ...
- inotify实时同步数据
实时同步服务 如何实现数据实时同步? 2.1.1 实现数据同步通过(利用rsync服务) rsync服务端部署 rsync客户端部署 2.1.2 实现数据实时监控(利用inotify) inotify ...
- rsync同步数据到内网
最近公司要求将IDC的APP日志备份到公司办公网内部,思前想后,结合以前学过的知识,决定用rsync直接推送,即从APP服务器上直接将日志推送到公司内网.这样避免了在生产服务器上额外安装更多软件而且只 ...
- 2-3-2 rsync+inotify备份同步数据
RSYNC = Remote Sync 远程同步 高效,一定要结合shell 官网:https://rsync.samba.org Author: Andrew Tridgell, Wayne Dav ...
- 十八、Rsync 远程同步数据
在linux系统下数据备份的工具.Rsync不仅可以远程同步数据(类似于scp [1]),当然还可以本地同步数据(类似于cp),但不同于cp或scp的一点是,rsync不像cp/scp一样会覆盖以前的 ...
- CentOS5.6下配置rsync内网同步数据到外网
一.需求 卫士那边有一个需求,就是要把一台内网服务器的数据同步到外网的一台服务器上,之前我用的是rsync+intify-tool+ssh实现的实时同步更新,前几天我还在东莞出差,开发的人给我打电话说 ...
- rsync同步数据带端口同步加-e参数
rsync在ssh认证方式下,可通过系统用户进行认证,即在rsync上通过ssh隧道进行传输,类似于scp工具. 此时同步操作不在局限于rsync中定义的同步文件夹.注意:ssh认证方式,不需要服务器 ...
- rsync 同步数据
-av 常用参数 -l 同步软连接 -L 同步软连接的原文件 目录对目录同步,加"/",同步目录下所有的文件 --delete 强制目标远一致 -u 避免把目标上的 ...
- rsync daemon模式介绍
Rsync介绍 rsync通常用于存储服务器节点内部,存储服务器节点之间文件.文件夹的拷贝和遍历等操作,使用方式大致分为两种: 1. rsync基本使用 2. rsync daemon模式使用 这里着 ...
最新文章
- HarmonyOS 界面跳转以及界面跳转的同时传递参数
- linux用户在哪个文件夹,LINUX中用命令成功建立一个用户后信息会记录在哪个文件中...
- 树套树 ---- 树状数组套权值线段树模板题 P2617 Dynamic Rankings 动态第K大
- linux r服务安装失败,R包:RCurl和curl包在Linux上安装失败
- 亚洲游戏行业遭遇史上最大DDoS攻击,微软:我给扛下来了
- 对 makefile 中 .PRECIOUS 的学习
- PHP-7.1 源代码学习:字节码在 Zend 虚拟机中的解释执行 之 概述
- 购物车Demo,前端使用AngularJS,后端使用ASP.NET Web API(3)--Idetity,OWIN前后端验证
- Android 开机启动
- Maven parent.relativePath
- Caffe2 的基本数据结构(Basics of Caffe2 - Workspaces, Operators, and Nets)[4]
- 大数据之-Hadoop3.x_MapReduce_序列化案例FlowBean---大数据之hadoop3.x工作笔记0097
- 输入aAZut,输出bBAvu
- Hadoop1.2.1源码解析系列:JT与TT之间的心跳通信机制——命令篇
- php编辑日历,【PHP】制作日历
- Python用socket、多线程实现一对一聊天室
- 内网渗透(五十)之域控安全和跨域攻击-使用其他工具导出域账号和散列值
- jQuery读取Table表格数据
- 腾讯云「邮件证书」重磅发布!从此告别邮件安全漏洞
- Linux安装NLG-Eval