linux下rsync的同步
rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync****主机同步
文件下载地址:
链接:https://pan.baidu.com/s/1tLiY7FwVEeEZo5zSxZ43Aw
提取码:8888
这里简单说下环境,A是部署了机房的服务器,B是空的,需要把A的文件备份到B的服务器
在A服务器下操作
1.解压在/home下
cd /home
tar -xzf rsync-3.1.2.tar.gz
2.编译及安装
cd rsync-3.1.2
./configure
make && make install
3.rsync主要命令选项:
-r:递归模式,对子目录以递归模式处理
-l:--links 保留软链结
-v:--verbose 详细模式输出
-a:--archive 权限保存模式,表示以递归方式传输文件,并保持所有文件属性,相当于-rlptgoD
-z:--compress 压缩模式,对备份的文件在传输时进行压缩处理
-p:--perms 保持文件权限,文件原有属性。
-o:--owner 保持文件原有属主信息。
-g:--group 保持文件原有属组信息。
-D:--devices 保持设备文件信息。
-t:--times 保持文件时间信息。
-A:保持ACL属性信息
-D:保留设备文件及其其他特殊文件
--delete:删除目标位置有而原始位置没有的文件
--password-file=FILE,从FILE中得到密码
总结:
常用的****-avz
同步模式:
下行:rsync用户@主机ip:/远程目录本地目录
rsync -az root@192.168.12.130:/rsync/netzxw15
意思是把别的电脑文件下载到本地
上行:rsync本地目录用户@主机ip:/远程目录
rsync -az /netzxw15 root@192.168.12.130:/rsync
意思是把本地的文件传给别的电脑
4.创建软连接:
ln -s /home/rsync-3.1.2/rsync /usr/bin/rsync
5测试:
A:部署了3D服务的机器,192.168.10.161
B:需要把3D文件同步到B服务器,192.168.10.162
在A ,B的 /home/新建一个test的文件夹,在A里面新建5个txt文件
在A操作
我们把A的五个文件同步到B上面,因为我们是传给B,所以是上传
rsync -avz /home/test/* root@192.168.10.161:/home/test //把本机的/home/test下的所有文件 传给192.168.10.161下的/home/test 里面
输入密码即可
同步成功
5.在A,B服务器上新建一个同步的用户,账号密码设置成一样的,并且设置好权限,免密同步
创建用来做数据同步的用户,并给予用户对目录的相应权限,一般使用 ACL 设置权限
# useradd rsync
# passwd rsync
设置好密码
# setfacl -m u:rsync:rwx /home/wxq //这里的指的是新建的用户只有指定的目录权限,实际情况替换为机房所在文件夹
ssh-keygen -t rsa -b 2048
一路回车
ssh-copy-id rsync@192.168.10.162 //传送到B服务器上面
输入yes
输入密码,刚才设置的rsync用户的密码
咱们用ssh登录测试一下,无需输入密码就可以进去了
ssh rsync@192.168.10.162
这时候我们测试一下同步就不需要密码了,我们在161上新建了一个文件,我们使用同步到162上
我们看到此时就不需要密码就可以实现了
7.后台自动运行同步文件
Inotify 是一个 Linux特性,它监控文件系统操作,比如读取、写入和创建。Inotify 反应灵敏,用法非常简单,并且比 cron 任务的繁忙轮询高效得多。学习如何将 inotify 集成到您的应用程序中,并发现一组可用来进一步自动化系统治理的命令行工具。
安装 inotify
在A服务器.部署了机房上使用root安装
cd /home/
tar -xvf inotify-tools-3.13.tar.gz
cd inotify-tools-3.13/
./configure && make && make install
inotifywait 命令 格式
格式:inotifywait -mrq -e 监控动作 1,监控动作 2 /监控目录 &
示例:inotifywait -mrq -e create,delete /filesrc &
-m:始终保持事件监听状态
-r:递归查询目录
-q:只打印监控事件的信息
监控动作:modify(内容),create,attrib(权限),move,delete
rsync+inotify实现数据同步
使用root操作
在部署机房的服务器上操作
cd /home
脚本1:只会同步增加修改的文件,不会同步删除的文件
vi rsync.sh
#!/bin/bash
a="inotifywait -mrq -e create,delete,modify /home/wxq/"
b="rsync -avz /home/wxq/ rsync@192.168.10.162:/home/wxq/"
$a | while read directory event file #while 判断是否接收到监控记录
do
$b
done
脚本2:无论是新增还是修改,删除都会同步
a="inotifywait -mrq -e create,attrib,move,delete,modify /home/wxq/"
b="rsync -avz --delete /home/wxq/ rsync@192.168.10.162:/home/wxq/"
$a | while read directory event file
do
$b
done
按下 :wq! 即可保存
su rsync
我们开始执行脚本
bash /home/rsync.sh & //表示在后台执行
接下来我们看看效果
linux下rsync的同步的更多相关文章
- Linux下Rsync+sersync实现数据实时同步
inotify 的同步备份机制有着缺点,于是看了sersync同步,弥补了rsync的缺点.以下转自:http://www.osyunwei.com/archives/7447.html 前言: 一. ...
- Linux下Rsync+Inotify-tools实现数据实时同步
Linux下Rsync+Inotify-tools实现数据实时同步 注意:下面的三个案例都是rsync 每次都是全量的同步(这就坑爹了),而且 file列表是循环形式触发rsync ,等于有10个文件 ...
- Windows和Linux之间 rsync数据同步
转载于 https://www.linuxidc.com/Linux/2014-01/95722p2.htm rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——rem ...
- linux下rsync和tar增量备份梳理
前面总结过一篇全量备份/增量备份/差异备份说明,下面介绍下linux下rsync和tar两种增量备份的操作记录: 1)rsync备份 rsync由于本身的特性,在第一次rsync备份后,以后每次都只是 ...
- Linux下rsync 安装与配置
1.什么是rsync Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.Rsync使用所谓的“Rsync算法”来使本地和远 程两个 ...
- [Linux]Linux下rsync服务器和客户端配置
一.rsync简介 Rsync(remote sync)是UNIX及类UNIX平台下一款神奇的数据镜像备份软件,它不像FTP或其他文件传输服务那样需要进行全备份,Rsync可以根据数据的变化进行差异( ...
- Linux下rsync命令使用总结
一.rsync的概述 rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync.rsync是Linux系统下的文件同步和数据传输工具,它采用“rsync” ...
- Linux下rsync的用法
一.rsync的概述 rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync.rsync是Linux系统下的文件同步和数据传输工具,它采用“rsync” ...
- Linux下进程的同步相互排斥实例——生产者消费者
linux下的同步和相互排斥 Linux sync_mutex 看的更舒服点的版本号= = https://github.com/Svtter/MyBlog/blob/master/Linux/pth ...
随机推荐
- 4.直方图介绍和使用|MySQL索引学习
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 目录 一.导读 二.步骤 2.1 SQL语句 2.2 直方图案例 2.3 查看直方图统计信息 2.3 直方图分类 2.4 ...
- 【深入学习.Net】.泛型集合【体检管理系统】
基于泛型List的体检管理系统(蜗牛爬坡) 第五章[体检管理系统] 一.项目展示图(基于.net core6.0) 二.首先准备两个Model类 HealthCheckItem(项目类):Name(项 ...
- Gulp介绍及安装使用教程
一.简介 gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器,不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成,使用她,我们不仅可以很愉快的编写代码 ...
- DBPack 限流熔断功能发布说明
上周我们发布了 v0.4.0 版本,增加了限流熔断功能,现对这两个功能做如下说明. 限流 DBPack 限流熔断功能通过 filter 实现.要设置限流规则,首先要定义 RateLimitFilter ...
- OpenStack-iaas之“先点”云平台安装
1.认识OpenStack 1.云计算的起源 早在2006年3月,亚马逊公司首先提出弹性计算云服务.2006年8月9日,谷歌公司首席执行官埃里克·施密特(Eric Schmidt)在谷歌搜索引擎大会( ...
- Servlet特性研究之异步模式
Servlet只有同步模型是怎样的? 异步处理是Servlet3.0版本的重要功能之一,分析异步处理模型之前,先看看同步处理的过程是怎样的: 客户端发起HTTP请求一个动态Servlet API,请求 ...
- 1.5_HTML基础标签实战演练
基本的 HTML 标签 HTML 标题 HTML 标题(Heading)是通过 <h1> - <h6> 等标签进行定义的. <h1>This is a headin ...
- 在Laravel框架blog中,终端的一些命令
创建控制器php artisan make:controller TestController数据库迁移php artisan make:migration create_goods_table实行迁 ...
- 基于ASP.NET Core 6.0的整洁架构
大家好,我是张飞洪,感谢您的阅读,我会不定期和你分享学习心得,希望我的文章能成为你成长路上的垫脚石,让我们一起精进. 本节将介绍基于ASP.NET Core的整洁架构的设计理念,同时基于理论落地的代码 ...
- 在 C# CLR 中学习 C++ 之了解 namespace
一:背景 相信大家在分析 dump 时,经常会看到 WKS 和 SRV 这样的字眼,如下代码所示: 00007ffa`778a07b8 coreclr!WKS::gc_heap::segment_st ...