系统学习Linux-Rsync远程数据同步服务(三)

这篇具有很好参考价值的文章主要介绍了系统学习Linux-Rsync远程数据同步服务(三)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、概述

rsync是linux 下一个远程数据同步工具

他可通过LAN/WAN快速同步多台主机间的文件和目录,并适当利用rsync 算法减少数据的传输

会对比两个文件的不同部分,传输差异部分,因此传输速度相当快

rsync可拷贝、显示目录属性,以及拷贝文件,并选择性的压缩及递归拷贝

二、特性

快速

第一次传输全部,下一次传输差异

rsync在传输过程中可以实行压缩和解压缩,使用更少的带宽

安全

可以使用scp、ssh等方式传输

直接通过socket连接

支持匿名传输、方便进行网站镜像

三、应用场景

增量同步

备份迁移

四、数据的同步方式

数据备份:拉取(下载)   pull

数据恢复:推送(上传)   push

五、rsync传输模式

本地传输  本地同步数据,类似于cp

远程传输  远程同步数据,类似于scp

守护进程  通过模块化的方式实现批量传输

六、rsync应用

安装

yum -y install rsync

如果已经安装,直接启动

systemctl start rsyncd

监听端口号

TCP/873

七、rsync命令

格式

rsync [选项] 原始位置 目标位置

作为远程命令

拉取  rsync [OPTION...] [USER@]HOST:SRC... [DEST]

推送  rsync [OPTION...] SRC... [USER@]HOST:DEST

作为rsync服务

拉取  rsync [OPTION...] [USER@]HOST::SRC... [DEST]

         rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]

推送  rsync [OPTION...] SRC... [USER@]HOST::DEST

          rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST

选项

-a  归档模式,递归并保留对象属性,等同于-rlptgoD

-v  -verbose           显示同步过程的详细信息

-z  在传输文件时进行压缩

举例

本地  rsync  -avz  /abc  /opt

          rsync  -avz  abc/  /opt

远程   rsync -avz root@192.168.2.7:/etc/hostname  /root/

           rsync -avz  /root/hostname root@192.168.2.7:/etc/hostname 

配置文件

/etc/rsyncd.conf

全局配置

address 独立运行时,用于指定服务器运行的 IP 地址,默认本地所有IP
port 指定 rsync 守护进程监听的端口号,默认 873
pid file rsync 的守护进程将其 PID 写入指定的文件
log file 指定 rsync 守护进程的日志文件,而不将日志发送给 syslog
syslog facility 指定 rsync 发送日志消息给 syslog 时的消息级别
socket options 指定自定义 TCP 选项
lockfile 指定rsync的锁文件存放路径
timeout 超时时间

模块配置

path 指定当前模块的同步路径,该参数是必须指定的
comment 给模块指定一个描述
use chroot 在服务运行时要不要把他锁定在家目录,默认为 true
uid和gid  指定rsync运行用户和用户组,默认nobody
max connections 最大并发连接数,0为不限制
lock file 指定支持 max connections的锁文件。默认/var/run/rsyncd.lock
list 指定列出模块列表时,该模块是否被列出。默认为 true
read only 只读选择,默认true
write only 只写选择,不让客户端从服务器上下载文件。默认false
ignore errors 忽略IO错误,默认true
ignore nonreadable 指定 rysnc 服务器完全忽略那些用户没有访问权限的文件。
dont compress 用来指定那些在传输之前不进行压缩处理的文件。
hosts allow 指定哪些主机客户允许连接该模块。默认值为 *
hosts deny 指定哪些主机客户不允许连接该模块
auth users 指定用于上传的用户名
secrets files 指定密码文件

守护进程传输

配置

uid=rsync
gid=rsync
fake super=yes  # 用于允许非root用户,在备份目录创建文件
list=false # 默认true,允许查看本机有哪些模块
auth users=rsync_backup # 用于指定认证用户
secrets file=/etc/rsync.passwd # 指定认证用户密码
read only = false
max connections=4 # 允许最大连接数
read only=false  默认yes,模块目录只读权限
ignore errors # 屏蔽错误报错
timeout=900 # 指定rsync传输超时时间
[backup]
path=/backup

创建用户  

useradd rsync -s /sbin/nologin -M

创建认证用户的密码

echo 'rsync_backup:123456' >/etc/rsync.passwd

chmod 600 /etc/rsync.passwd

准备模块目录

mkdir /backup

chown rsync.rsync /backup

重启服务

systemctl restart rsyncd

客户端远程传输

rsync -avz /etc/hosts rsync_backup@192.168.2.62::backup

通过密码文件实现免密传输

vim /etc/rsync.passwd

chmod   600 /etc/rsync.passwd

rsync -avz /etc/hosts rsync_backup@192.168.2.62::backup --password-file /etc/rsync.passwd

实验练习

1.使用认证用户为jx_名字缩写,认证密码为班级编号

2.模块名称为juexing

3.自行修改文件内容,在服务器上实现同步

vim /etc/rsyncd.conf   写入红框内容
系统学习Linux-Rsync远程数据同步服务(三),linux,学习,服务器

useradd rsync -s /sbin/nologin -M  创建rsync用户并给到命令权限

echo 'jx_lwj:2305' >/etc/rsync.passwd  给认证用户设置密码

chmod 600 /etc/rsync.passwd  并设置权限

系统学习Linux-Rsync远程数据同步服务(三),linux,学习,服务器

mkdir /juexing  准备模块目录

系统学习Linux-Rsync远程数据同步服务(三),linux,学习,服务器

chown rsync.rsync /juexing  目录属组属主要是给到sbin命令权限的用户与组

系统学习Linux-Rsync远程数据同步服务(三),linux,学习,服务器

systemctl restart rsyncd    重启服务

打开客户端

rsync -avz /etc/hosts jx_lwj@192.168.1.1::juexing
系统学习Linux-Rsync远程数据同步服务(三),linux,学习,服务器

测试成功后设置通过密码文件实现免密传输

vim /etc/rsync.passwd  写入刚才设置的密码2305

chmod 600 /etc/rsync.passwd   设置密码文件权限

rsync -avz /etc/hosts jx_lwj@192.168.1.1::juexing --password-file /etc/rsync.passwd  自动读取密码文件在/etc/rsync.passwd

系统学习Linux-Rsync远程数据同步服务(三),linux,学习,服务器


rsync+inotfy实时同步

服务器端

安装网站服务,启动,但是不写首页文件

修改主配置文件

vim /etc/rsync.config

uid = root
gid = root

[wwwroot]
    path = /var/www/html
    comment = backup export area
    read only = false
    hosts allow = 192.168.1.0/24

系统学习Linux-Rsync远程数据同步服务(三),linux,学习,服务器

开发客户端

安装inotify工具

inotify-tools

tar xf  inotify-tools-3.14.tar.gz

./configure && make && make install

系统学习Linux-Rsync远程数据同步服务(三),linux,学习,服务器 

配置内核参数

vim /etc/sysctl.conf

fs.inotify.max_user_instances = 1024

fs.inotify.max_queued_events = 16384

fs.inotify.max_user_watches=1048576

系统学习Linux-Rsync远程数据同步服务(三),linux,学习,服务器

sysctl -P

系统学习Linux-Rsync远程数据同步服务(三),linux,学习,服务器

inotifywait -mrq -e modify,create,move,delete /var/www/html

这条命令输入后  可以实时观察写入、删除等

系统学习Linux-Rsync远程数据同步服务(三),linux,学习,服务器

编写脚本

vim /opt/inotify_rsync.sh

#!/bin/bash
INOTIFY_CMD="inotifywait -mrq -e modify,create,attrib,move,delete /var/www/html/"
RSYNC_CMD="rsync -azH --delete /var/www/html/192.168.1.1::wwwroot"
$INOTIFY_CMD | while read DIRECTORY EVENT FILE
do
$RSYNC_CMD
done

系统学习Linux-Rsync远程数据同步服务(三),linux,学习,服务器 

赋予执行权限

chmod +x inotify_rsync.sh

系统学习Linux-Rsync远程数据同步服务(三),linux,学习,服务器

系统学习Linux-Rsync远程数据同步服务(三),linux,学习,服务器

 系统学习Linux-Rsync远程数据同步服务(三),linux,学习,服务器

写入文件(开机自启)

vim /etc/rc.local

/root/inotify_rsync.sh文章来源地址https://www.toymoban.com/news/detail-598320.html

到了这里,关于系统学习Linux-Rsync远程数据同步服务(三)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ubuntu 使用 rsync 的 SSH 方式同步备份远程WEB服务器

    ubuntu 20.04 自带 rsync ,对于 WEB 服务器这种更新频率不高的情况,直接使用定时同步复制远程服务器的方法,比较直接和简单! $ rsync --version rsync version 3.1.3 protocol version 31 参考: Ubuntu20.04中的rsync命令 本次主要使用 SSH 方式来完成,抄录一下参考文章 远程 ubuntu 2004 server 192.

    2024年02月15日
    浏览(37)
  • Linux服务器同步Windows目录同步-rsync

    最近需要,Linux的服务器同步Windows的一个目录。查了下,大概有三种方法:网盘同步;rsync同步;挂载目录。 网盘同步,可以选择搭建一个Nextcloud 。但是问题在于,我需要的是,客户端和服务端的同步,而不是客户端和客户端的同步。服务端没有界面,安装客户端的网盘软件

    2024年02月11日
    浏览(62)
  • rsync基本命令和用法和服务之间进行数据同步

    Rsync 是 Linux 系统下的数据镜像备份工具,使用快速增量备份工具 Remote Sync 可以远程同 步,可以在不同主机之间进行同步,可实现全量备份与增量备份,保持链接和权限,传输前执行压缩,因 此非常适合用于架构集中式备份或异地备份等应用。 官方网站:https://rsync.samba.or

    2024年02月12日
    浏览(55)
  • !!!!建议收藏 Rsync项目实践:数据备份 (文件同步到服务器)

    基本备份要求 准备三台服务器,两台web服务器、一台rsync备份服务器 主机名分别为web01、web02、backup [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rLf7EhNj-1666099690586)(…/…/图片/image-20221018164708556.png)] 客户端需求 1.客户端每天凌晨01点在服务器本地

    2023年04月08日
    浏览(76)
  • Rsync远程同步

      rsync是C/S架构的数据镜像备份工具,可以实现全量备份和快速增量备份支持本地复制或ssh、rsync主机同步。 rsync默认端口为 873 rsync特性:可以在不通主机之间镜像同步整个目录树,支持增量备份、保持链接和权限、时间、属性且传输前自动执行压缩、rsync不需要特殊权限即可

    2024年02月08日
    浏览(54)
  • 分布式运用——rsync远程同步

    rsync(Remote Sync,远程同步)是由Andrew Tridgell于1996年开发的一款开源软件。 是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,并保持链接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份、镜像服务器等应用。

    2024年02月12日
    浏览(54)
  • linux文件数据同步--实现文件共享与备份(nfs+rsync+httpd+dns)

    目录 实验目地: 实验需求: 各项服务位置以及作用: 整体实验过程: 详细配置: Rsync服务: Web服务:  NFS服务 DNS服务 在整体实验中,使客户机在网页可以看到由服务器A上传的文件,并且A服务器有一台备份服务器。 四台虚拟服务器与一台客户机,并关闭防火墙 服务器

    2024年02月03日
    浏览(49)
  • 分布式运用之rsync远程同步

    1.rsync的相关知识  1.1 rsync简介 rsync(Remote Sync,远程同步)是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,并保持链接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份、镜像服务器等应用。 rsync 的官方站点

    2024年02月06日
    浏览(35)
  • rsync 远程同步实现快速、安全、高效的异地备份

    目录 1 rsync 远程同步 1.1 rsync是什么? 1.2 rsync同步方式 1.3 rsync的特性 1.4 rsync的应用场景 1.5 rsync与cp、scp对比 1.6 rsync同步源 2 配置rsync源服务器 2.1 建立/etc/rsyncd.conf 配置文件 3 发起端 4 发起端配置 rsync+inotify 4.1 修改rsync源服务器配置文件 4.2 调整 inotify 内核参数 4.3 安装 inoti

    2024年02月05日
    浏览(40)
  • rsync远程同步实现快速、安全、高效的异地备份

    目录 一、rsync介绍 1、rsync是什么? 2、rsync同步方式 3、rsync的特性 4、rsync的应用场景 5、rsync与cp、scp对比 6、rsync同步源 二、rsync命令 1、常用选项 2、实例:本地复制对比 3、配置源的两种表示方法 三、配置rsync下行同步 四、rsync实时同步(inotify工具) 1、定期同步的不足

    2024年02月16日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包