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

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 8732024/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.mrgr.cn/news/33600.html

相关文章:

  • 【通讯协议】S32K142芯片——LIN通信的学习和配置
  • 解决docker指令卡住的场景之一
  • KTH5702系列 低功耗、高精度 2D 霍尔旋转位置传感器 车规AEC-Q100
  • 01 基础request
  • linux之进程信号
  • 【网络安全】依赖混淆漏洞实现RCE
  • java Nio的应用
  • OpenCV特征检测(9)检测图像中直线的函数HoughLines()的使用
  • 命名管道详解
  • 用最容易理解的方法,实现LRU、LFU算法
  • C#如何把写好的类编译成dll文件
  • ArcGIS核密度分析(栅格处理范围与掩膜分析)
  • NLP:命名实体识别及案例(Bert微调)
  • Redis:常用命令总结
  • 【机器学习】——线性回归(自我监督学习)
  • 基于ECC簇内分组密钥管理算法的无线传感器网络matlab性能仿真
  • Python画笔案例-058 绘制单击画酷炫彩盘
  • 3.递归求值
  • AI 智能名片链动 2+1 模式商城小程序中的体验策略
  • 如何访问字符串中某个字符