Rsync数据同步服务

Rsync软件适用与unix/linux/windows等多种操作系统平台

Rsync是一款开源的,快速的,多功能的,可实现全量及增量的本地或远程数据同步备份的优秀工具,可以实现删除文件或目录的功能 
它的功能可以排除以后在复制,可以保持原文件目录的权限,时间,软硬链接,属主,属组等属性均不改变也就是cp -p的功能

增量同步就是只同步变化的数据,可以通过ssh远程数据传输,也可以通过socker进程数据传输,支持匿名或加密数据传输

Rsync三大类:1,本地间类似cp命令的数据同步 2.网络间两台不同IP服务期间数据传输 3.以socker进程监听的方式启动rsync server端

rsync -avzP -e 'ssh -p 22' 如下 --delet:删除参数,只能删除目录里的文件 --bwlimit=100:限速参数,等于多少就是限速多少

a代表递归复制,v代表显示传输信息,z代表高效的传输效率,-e代表指定端口传输,不写代表默认22端口,-P保持文件所有属性不变

rsync -avz 源目录 root@目标IP:放到什么目录下 --> 不同IP服务间数据传输,需要安装远程支持包(openssh-clients也就是scp命令和rsync命令)

 

Rsync缺点

要有众多小文件的话只能一个一个比对在推送,所以一般都是把整个目录打包以后在推送

 

远程复制命令

ssh IP地址:远程登陆系统用户,不写root@代表默认,普通用户必须写用户

scp -P:远程复制命令,不写-P默认端口22,不写代表指定多少端口 rsync:远程同步复制命令

/etc/ssh/sshd_config:sshd远程端口配置文件,端口号在13行 rsync监听873端口

 

Rsync服务搭建

Rsync服务端先检查有没有rsync软件包,手动创建vim /etc/rsyncd.conf文件默认不存在,vim编写

 

用户

uid = rsync

 

gid = rsync

 

程序安全设置

use chroot = no

 

客户端连接数

max connections = 200

 

超时时间

timeout = 300

 

进程号文件位置

pid file = /var/run/rsyncd.pid

 

进程锁

lock file = /var/run/rsync.lock

 

日志文件位置

log file = /var/log/rsyncd.log

 
#

[backup]

 

使用目录

path = /backup/

 

有错误时忽略

ignore errors

 

可读可写(true或false)

read only = false

 

阻止远程列表(不让通过远程方式看服务端有啥)

list=false

 

允许IP

hosts allow = 192.168.200.0/24

 

禁止IP

hosts deny = 0.0.0.0/32

 

虚拟用户

auth users = rsync_backup

 

存放用户和密码的文件

secrets file = /etc/rsync.password


 

Rsync搭建过程

useradd -M -s /sbin/nologin rsync #创建rsync用户

mkdir /backup #创建共享目录

rsync --daemon #启动服务

chown rsync /backup #/backup文件夹更改属主rsync

echo "rsync_backup:123456" >/etc/rsync.password #创建rsync虚拟账户名和密码

chmod 600 /etc/rsync.password #将账户密码文件的权限设置为600(必须否则失败)

echo "rsync --daemon" >> /etc/rc.local #加入开机启动(可加可不加)

pkill rsync #关闭rsync服务

rsync --daemon #启动rsync服务

 

Rsync客户端先检查有没有rsync软件包

echo "123456" > /etc/rsync.password #手动创建密码文件

chmod 600 /etc/rsync.password #将密码文件的权限设置为600(必须否则失败)

 

Rsync同步测试

rsync -avz /backup/ rsync_backup@192.168.200.xxx::backup --password-file=/etc/rsync.password

命令说明: 
-avz:保持稳健各项属性不变 
-a归档模式,表示以递归方式传递文件 
-z传输时进行压缩以提高传输效率 
-v显示进度信息 
--delet实时同步 
-P完全同步 
,保持所有属性不变 
/backup/:要推送的内容所在目录 
rsync_backup:服务器端rsync服务的同步的用户名(非Linux用户) 
192.168.200.xxx:rsync服务器IP地址 
backup:rsync服务器配置文件里的模块名 
--password-file=/etc/rsync.password:免密码的操作,指定密码文件位置,如果不写,则会要求用户交互式输入密码。(如果想挂定时任务,必须得非交互式)

 

Rsync指定端口推送

rsync -avzP -e 'ssh -p 22'/etc/ root@192.168.197.129:/tmp/ #将当前主机内容推送到远程主机(需要安装远程支持包)

rsync -avzP -e 'ssh -p 22' root@chensiqi2:/opt /tmp #将远程主机内容拉取到当前主机(需要安装远程支持包)

Rsync数据同步服务的更多相关文章

  1. Linux之rsync数据同步服务

    rsync是一个开源.快速的.多动能的.可以实现全量,增量的本地或远程数据同步备份工具,它适用于多种操作系统平台. 1.rsync的特性(功能) (1)支持拷贝特殊文件(如链接文件.设备文件) (2) ...

  2. Linux实战教学笔记21:Rsync数据同步工具

    第二十一节 Rsync数据同步工具 标签(空格分隔): Linux实战教学笔记-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品,允许转载,转载 ...

  3. Rsync数据同步工具

                                        Rsync数据同步工具 什么是Rsync? Rsync是一款开源的.快速的.多功能的,可以实现全量及增量的本地或原程数据同步备份 ...

  4. rsync数据同步工具的配置

    rsync数据同步工具的配置 1. rsync介绍 1.1.什么是rsync rsync是一款开源的快速的,多功能的,可实现全量及增量的本地或远程数据同步备份的优秀工具.Rsync软件适用于 unix ...

  5. 【基础】:Rsync数据同步工具

    第二十一节 Rsync数据同步工具 1.1 Rsync介绍 1.1.1 什么是Rsync? 1.1.2 Rsync简介 1.3 Rsync的特性 1.1.4 Rsync的企业工作场景说明 1.2 Rs ...

  6. rsync数据同步备份

    一.rsync简介 (1)rsync是什么? rsync是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份的优秀工具. (2)rsync作用比较 远程拷贝:有点类似ssh的scp ...

  7. rsync实时同步服务部署

    部署rsync服务 一.需求:把客户端文件同步到服务端指定位置服务端:备份服务器为 172.16.3.164客户端:推送服务器为 172.16.3.94 二.基础知识: rsync 分为服务器端.客户 ...

  8. 搭建中小规模集群之rsync数据同步备份

    NFS重要问题 1.有关NFS客户端普通用户写NFS的问题. 1)为什么要普通用户写NFS. 2)exports加all_squash. Rsync介绍 什么是Rsync? Rsync是一款开源的.快 ...

  9. rsync 数据同步

    什么是Rsync? Rsync是一款开源的.快速的.多功能的.可实现全量及增量的本地货远程数据同步备份的优秀工具.适用于unix/linux/windows等多种操作系统平台. Rsync具有可使本地 ...

随机推荐

  1. Prometheus监控学习笔记之Prometheus的Relabel,SD以及Federation功能

    0x00 k8s 的监控设计 k8s 默认以及推荐的监控体系是它自己的一套东西:Heapster + cAdvisor + Influxdb + Grafana,具体可以看 这里 . 包括 k8s 自 ...

  2. linux查看与修改交换内存配置(解决zabbix-agent启动报错)

    问题 zabbix-agent在一台centos6.5上启动报错: cannot allocate shared memory of size 949056: [28] No space left o ...

  3. Linux启动过程简述

    Linux启动过程: 图片来自:https://www.cnblogs.com/codecc/p/boot.html 简单来讲: 加载BIOS–>读取MBR–>Boot Loader–&g ...

  4. [c/c++] programming之路(26)、结构体

    一.初始化字符串 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #include&l ...

  5. c语言#define用法

    01 作用域 预编译作用域限本文全局,如: a.c中定义:#define TEST 1 b.c中定义:#define TEST 2 两者编译不交叉,互不影响. 若需#define TEST作用于a.c ...

  6. firefox(火狐)下 js中设置checkbox属性checked="checked"已有,但复选框却不显示勾选的原因

    刚看到问题时以为是浏览器兼容性的原因,ie.google都能正常显示. 网上查询之后发现是jQuery的attr()方法用的不恰当. jQuery1.6之前使用attr()可以修改 ,从jQuery ...

  7. Gradle 依赖管理

    依赖管理(在 build.gradle 中): 1.定义依赖仓库(repositories): Gradle 要求至少定义一个依赖仓库,依赖仓库可以是文件系统,也可以是中心服务器.最常用的是 jcen ...

  8. GhostCore核心使用完全指南 - 传送门

    Ghostcore,小坏制作,QQ 532073265,切记不要使用破解版本,后果自负 更新日志 数据表集合 了解模板机制 基本设置 自动备份数据库 自定义字符 扩展的GM命令 NPC脚本(包括幻化. ...

  9. C# 加载DotNetBar组件

    C#作为前端的开发软件,使用的人很多,但是原生的C#界面较为简陋,已经不能满足公司级的开发工作了,今天这篇博客的主要内容是讲一下怎么在C#端使用一个可以提升界面美感的第三方控件,DotNetBar 首 ...

  10. 基于redis的分布式锁(转)

    基于redis的分布式锁 1 介绍 这篇博文讲介绍如何一步步构建一个基于Redis的分布式锁.会从最原始的版本开始,然后根据问题进行调整,最后完成一个较为合理的分布式锁. 本篇文章会将分布式锁的实现分 ...