当前位置: 首页 > article >正文

Linux进阶命令-rsync daemon

作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

经过上一章Linux日志的讲解,我们对Linux系统自带的日志服务已经有了一些了解。我们接下来将讲解一些进阶命令,主要从以下几个方面来讲解:一些系统操作,系统查看处理,Linux文本处理,逻辑判断,重定向,网络传输,服务启动,文件句柄等内容。通过这些操作,让你对Linux的操作更加得心应手,具体分成以下章节进行讲解:

Linux进阶命令-echo&date&alias

Linux进阶命令-top

Linux进阶命令-ps&kill

Linux进阶命令-sort&wc

Linux进阶命令-sed&split

Linux进阶命令-awk&uniq

Linux进阶命令-逻辑或&逻辑与

Linux进阶命令-重定向

Linux进阶命令-scp

Linux进阶命令-rsync

Linux进阶命令-rsync-daemon(本章节)

Linux进阶命令-nohup&screen

Linux进阶命令-lsof

Linux进阶命令-小结

虽然rsync很好用,但是它强依赖ssh,也就是它需要依赖ssh密码,这样对服务器的安全性是有风险的。那有没有既有rsync的优势,又能规避泄露ssh账号和密码的方法呢?

rsync daemon

rsync daemon(rsync 守护进程)是一种在后台持续运行以实现文件同步等操作的服务程序。

主要特点和功能包括:

  • 高效同步:支持增量备份,只传输文件中发生变化的部分,这大大减少了数据传输量和同步时间,特别是对于大型文件和频繁更新的文件系统非常有效。例如,在同步大型数据库备份文件时,能够快速识别并仅传输新添加或修改的数据块。

  • 远程访问:允许通过网络在不同的计算机系统之间进行文件同步。可以配置为监听特定的网络端口,接收来自其他机器的连接请求,实现远程文件传输和同步。例如,企业可以利用 rsync daemon 将分支机构的数据定期同步到总部服务器。

  • 灵活配置:可以通过配置文件进行详细的参数设置,以满足各种不同的同步需求。例如,可以指定要同步的文件目录、排除某些不需要同步的文件或目录、设置访问权限等。

  • 数据安全:支持数据加密和身份验证机制,确保在网络传输过程中的数据安全以及对同步操作的授权访问。可以使用 SSH 等加密通道进行数据传输,防止数据被窃取或篡改。

  • 多种同步模式:不仅可以实现单向的从源到目标的同步,还可以配置为双向同步,满足不同场景下的数据交互需求。例如,在文件共享和协作环境中,多个用户之间可以通过 rsync daemon 实现文件的双向同步更新。

配置rsync daemon

配置文件

#编辑配置文件
vi /etc/rsync.conf
uid = nobody
gid = nobody
use chroot = no
max connections = 10
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
[mybackup]
path = /rsync
comment = My backup directory
read only = false
auth users = myuser
secrets file = /etc/rsyncd.secrets
#模块可以写多个,参考这个格式即可。
 

密码配置

vi /etc/rsyncd.secrets
#格式如下,可以写多个,这里是明文
#文件权限600
myuser:passwd

启动

#启动rsync
rsync --daemon
#检查端口及进程
[root@localhost ~]# ps -ef |grep -v grep |grep rsync
root      10864      1  0 23:23 ?        00:00:00 rsync --daemon
[root@localhost ~]# netstat -lnp |grep 873
tcp        0      0 0.0.0.0:873             0.0.0.0:*               LISTEN      10864/rsync         
tcp6       0      0 :::873                  :::*                    LISTEN      10864/rsync
默认就是后台启动,默认监听端口TCP 873端口
2024/08/27 00:21:31 [13862] rsyncd version 3.1.2 starting, listening on port 873

2024/08/27 00:24:22 [14011] connect from UNKNOWN (192.168.179.108)
2024/08/27 00:24:25 [14011] rsync on mybackup/ from myuser@UNKNOWN (192.168.179.108)
2024/08/27 00:24:25 [14011] building file list
2024/08/27 00:24:25 [14011] sent 67 bytes  received 32 bytes  total size 0

客户端连接

准备密码文件
vi /etc/pass
#里面只包含密码
#文件权限600
passwd
 
rsync -avz --password-file=/etc/pass rsync://myuser@192.168.179.107/mybackup /root/

另外一种写法

rsync -avz myuser@192.168.179.107::mybackup /root/
#注意是是2个冒号
#这里没输入密码文件,要手动输入密码

总结

  1. 该配置是最简单的实现功能,里面还有更多的功能,比如限制ip,尤其你开放到公网的时候。

  2. 客户端有2种连接方式,注意区分写法。

  3. 这个在互联网的典型应用其实是yum源,因为yum就是以这个方式对外提供服务,让我们可以用这个方式去同步yun数据。阿里和腾讯没开,清华园是开的,其他的更多的你们可以去测试。

图片

运维小路

一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!

关注微信公众号《运维小路》获取更多内容。


http://www.kler.cn/a/315156.html

相关文章:

  • 排序算法 - 冒泡
  • 深度学习之卷积问题
  • pySpark乱码
  • 基于混合配准策略的多模态医学图像配准方法研究
  • Vue 项目打包后环境变量丢失问题(清除缓存),区分.env和.env.*文件
  • Unity3D学习FPS游戏(12)敌人检测和攻击玩家
  • Java :数组array和 Arrays
  • Phoenix使用
  • Zookeeper安装使用教程
  • 爬虫技术抓取网站数据
  • C++进阶|多态知识点详解及经典面试题总结
  • 字节跳动冯佳时:大语言模型在计算机视觉领域的应用、问题和我们的解法
  • java实现系统文件管理
  • 如何在自动化测试中应用装饰器、多线程优化自动化架构?
  • ConflictingBeanDefinitionException | 运行SpringBoot项目时报错bean定义冲突解决方案
  • 音视频入门基础:AAC专题(5)——FFmpeg源码中,判断某文件是否为AAC裸流文件的实现
  • OpenCore Legacy Patcher 2.0.0 发布,83 款不受支持的 Mac 机型将能运行最新的 macOS Sequoia
  • 【Web】御网杯信息安全大赛2024 wp(全)
  • 如何在堆和栈上分别创建一个`QObject`子类对象
  • 走在时代前沿:让ChatGPT成为你的职场超级助手
  • 环形链表问题——力扣141,142
  • Facebook运营:账号类型有哪些?有必要用静态住宅IP吗?
  • 快速理解MySQL索引:优化查询性能的利器
  • 动手深度学习 线性回归从零开始实现实例
  • 招商银行招行笔试难度递增?要点解读
  • harbor私有镜像仓库,搭建及管理