前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Linux进阶命令-rsync-daemon

Linux进阶命令-rsync-daemon

作者头像
运维小路
发布2024-11-01 19:39:15
发布2024-11-01 19:39:15
7400
代码可运行
举报
文章被收录于专栏:运维小路运维小路
运行总次数:0
代码可运行

作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

经过上一章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

配置文件

代码语言:javascript
代码运行次数:0
复制
#编辑配置文件
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
#模块可以写多个,参考这个格式即可。
代码语言:javascript
代码运行次数:0
复制
密码配置
代码语言:javascript
代码运行次数:0
复制
vi /etc/rsyncd.secrets
#格式如下,可以写多个,这里是明文
#文件权限600
myuser:passwd
启动
代码语言:javascript
代码运行次数:0
复制
#启动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
代码语言:javascript
代码运行次数:0
复制
默认就是后台启动,默认监听端口TCP 873端口
代码语言:javascript
代码运行次数:0
复制
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
客户端连接
代码语言:javascript
代码运行次数:0
复制
准备密码文件
vi /etc/pass
#里面只包含密码
#文件权限600
passwd
代码语言:javascript
代码运行次数:0
复制
rsync -avz --password-file=/etc/pass rsync://myuser@192.168.179.107/mybackup /root/

另外一种写法

代码语言:javascript
代码运行次数:0
复制
rsync -avz myuser@192.168.179.107::mybackup /root/
#注意是是2个冒号
#这里没输入密码文件,要手动输入密码

总结

  1. 该配置是最简单的实现功能,里面还有更多的功能,比如限制ip,尤其你开放到公网的时候。
  2. 客户端有2种连接方式,注意区分写法。
  3. 这个在互联网的典型应用其实是yum源,因为yum就是以这个方式对外提供服务,让我们可以用这个方式去同步yun数据。阿里和腾讯没开,清华园是开的,其他的更多的你们可以去测试。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-08-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 运维小路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • rsync daemon
    • 密码配置
    • 启动
    • 客户端连接
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档