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个冒号
#这里没输入密码文件,要手动输入密码
总结
-
该配置是最简单的实现功能,里面还有更多的功能,比如限制ip,尤其你开放到公网的时候。
-
客户端有2种连接方式,注意区分写法。
-
这个在互联网的典型应用其实是yum源,因为yum就是以这个方式对外提供服务,让我们可以用这个方式去同步yun数据。阿里和腾讯没开,清华园是开的,其他的更多的你们可以去测试。
运维小路
一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!
关注微信公众号《运维小路》获取更多内容。