Linux Rsync服务详解(二)——Rsync服务实战

简介: Linux Rsync服务详解(二)——Rsync服务实战

今天继续给大家介绍Linux运维相关内容,本文主要内容是Rsync服务详解。

一、Rsync实战
接下来,我们选择使用两台设备进行Rysnc的备份实战。
设备一IP地址:192.168.136.101
设备二IP地址:192.168.136.210
我们现在要把设备一的/back-target/文件夹下的内容备份到设备二的/back-source/文件夹下,在设备一上开启Rsync服务。
设备一上配置文件/etc/rsyncd.conf如下所示:

uid = root
gid = root
address = 192.168.136.101
port = 873
hosts allow = 192.168.136.0/24
use chroot = yes
max connections = 3
pid file = /var/run/rsync.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsync.log
[experiment]
path =/back-target/
comment = used for backup the upper fold
read only = false
list = yes
auth users = rsyncuser
secrets file = /etc/rsync.passwd

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
设备一上密码文件/etc/rsync.passwd如下所示:

rsyncuser:123456
1
在完成上述两个配置文件配置后,我们就可以开启rsync服务了,同时,为了使得备份正常,还需要对密码文件进行授权,并且关闭防火墙服务,相关配置命令如下所示:

rsync --daemon --config=/etc/rsyncd.conf
systemctl stop firewall
iptables -F
setenforce 0
chmod 600 /etc/rsync.passwd
1
2
3
4
5
这样做的好处是当提升了Rsync服务的安全性,当客户端需要进行Rsync备份时,可以使用配置文件中的模块名、用户名、密码,从而隐藏了真实的系统备份路径和真实的系统用户。设备二进行Rsync备份命令如下所示:

rsync -azv /back-source/ rsyncuser@192.168.136.101::experiment
1
其中@符号前面的用户名使用的是设备一的Rsync配置文件中的用户名,但是在设备一上并没有该用户名,相应的在执行该条命令在输入密码的时候,也是输入设备一配置文件/etc/rsync.passwd中指定的密码。IP地址后面的双冒号是固定格式,双冒号使用的是模块名,必须与配置文件中的模块名对应。上述命令执行过程如下所示:

更进一步,我们可以将密码写入配置文件中,并且在设备二上指定密码,这样有利于我们实现自动化。设备二的密码文件与设备一的密码文件略有不同,不是用户名:密码的格式,而是直接写入密码,在这个例子中,设备二的密码文件中写入内容为123456。将上述内容保存在配置文件(/etc/rsync.passwd)中,并且将该文件授予相应的权限(通常是700或600),之后将上述命令替换为:

rysnc -azv /back-source/ rsyncuser@192.168.136.101:experiment --password-file=/etcrsync.passwd
1
这样,我们在进行rsync备份的时候,就不用继续输入密码了。

我们还可以将上述命令写入脚本,并做成定时任务,以实现网站脚本的自动备份。

二、Rysnc+sersync实战
在第四章介绍的实战中,我们已经能够实现当对关键目录数据进行定时备份了,但是对于一些更加重要的数据而言,可能还需要做到实时备份的水准,这时就要用到Rsync+sersync了。
sersync是基于inotify开发的,类似于inotify-tools的工具,它可以监控指定目录中文件发生的变化,然后调用rsync同步变化的文件。在使用Rsync+sersync架构时,需要在备份目的服务器上开启Rsync服务,在备份源服务器上运行sersync服务。
serysnc的官方下载链接为:https://sersync.googlecode.com/files/sersync2.5.4_64bit_binary_stable_final.tar.gz
但是有时我们可能无法从上述链接下载,国内有人也提供了相应的下载服务,下载地址为:
http://down.whsir.com/downloads/sersync2.5.4_64bit_binary_stable_final.tar.gz
(注:下载源来源于网络,无法保证安全性,请慎重访问!)

下载并解压后,可以看到压缩包内存在两个文件,一个是confxml.xml,还有一个是sersync2,第一个是sersync的配置文件,第二个是sersync的执行脚本文件。
要运行sersync,需要进入其配置文件,主要修改一下两处:
一是修改监听的本地目录和目的备份服务器的IP地址,其配置文件原有内容如下,红线部分为原有的配置文件内容。

修改完毕后,如下:

二是修改rsync备份所使用的用户名和密码,其配置文件原有内容如下,红线部分为原有的配置文件内容。

修改完毕后,如下:

在完成上述配置文件后,就可以启动sersync服务了,启动脚本如下:

/root/GNU-Linux-x86/sersync2 -d -r -o /root/GNU-Linux-x86/confxml.xml
1
启动页面如下:

在完成上述操作后,我们可以去备份源目录下新创建文件,然后观察备份目的服务器下是否同步,如果文件自动同步,则证明我们的配置生效。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_40228200/article/details/121153755

目录
相关文章
|
7月前
|
JavaScript Linux 网络安全
Termux安卓终端美化与开发实战:从下载到插件优化,小白也能玩转Linux
Termux是一款安卓平台上的开源终端模拟器,支持apt包管理、SSH连接及Python/Node.js/C++开发环境搭建,被誉为“手机上的Linux系统”。其特点包括零ROOT权限、跨平台开发和强大扩展性。本文详细介绍其安装准备、基础与高级环境配置、必备插件推荐、常见问题解决方法以及延伸学习资源,帮助用户充分利用Termux进行开发与学习。适用于Android 7+设备,原创内容转载请注明来源。
1325 77
|
6月前
|
Linux Shell
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
433 25
|
7月前
|
关系型数据库 MySQL 应用服务中间件
Linux 手动安装快速部署 LNMP 环境实战
本文详细记录了在阿里云ECS上手动搭建LNMP环境的过程,系统选用Ubuntu 24.04。主要内容包括:1) 使用`apt`安装Nginx和MySQL,并更新软件源;2) 编译安装PHP 8.4.5,配置PHP-FPM及环境路径;3) 配置MySQL root用户密码;4) 调整Nginx支持PHP解析并测试整体环境。通过此过程,重现手动配置服务器的细节,帮助熟悉各组件的安装与协同工作。
381 23
|
7月前
|
Linux iOS开发 MacOS
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Git 服务
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Git 服务
157 0
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Git 服务
|
9月前
|
Linux Docker 容器
Linux 中停止 Docker 服务报 warning 导致无法彻底停止问题如何解决?
在 Linux 系统中,停止 Docker 服务时遇到警告无法彻底停止的问题,可以通过系统管理工具停止服务、强制终止相关进程、检查系统资源和依赖关系、以及重置 Docker 环境来解决。通过以上步骤,能够有效地排查和解决 Docker 服务停止不彻底的问题,确保系统的稳定运行。
596 19
|
9月前
|
监控 Linux
Linux systemd 服务启动失败Main process exited, code=exited, status=203/EXEC
通过以上步骤,可以有效解决 systemd 服务启动失败并报错 `Main process exited, code=exited, status=203/EXEC` 的问题。关键在于仔细检查单元文件配置、验证可执行文件的有效性,并通过日志分析具体错误原因。确保可执行文件路径正确、文件具有执行权限,并且可以独立运行,将有助于快速定位和解决问题。
3965 7
|
11月前
|
Linux 应用服务中间件 Shell
linux系统服务二!
本文详细介绍了Linux系统的启动流程,包括CentOS 7的具体启动步骤,从BIOS自检到加载内核、启动systemd程序等。同时,文章还对比了CentOS 6和CentOS 7的启动流程,分析了启动过程中的耗时情况。接着,文章讲解了Linux的运行级别及其管理命令,systemd的基本概念、优势及常用命令,并提供了自定义systemd启动文件的示例。最后,文章介绍了单用户模式和救援模式的使用方法,包括如何找回忘记的密码和修复启动故障。
207 5
linux系统服务二!
|
10月前
|
运维 监控 Linux
Linux操作系统的守护进程与服务管理深度剖析####
本文作为一篇技术性文章,旨在深入探讨Linux操作系统中守护进程与服务管理的机制、工具及实践策略。不同于传统的摘要概述,本文将以“守护进程的生命周期”为核心线索,串联起Linux服务管理的各个方面,从守护进程的定义与特性出发,逐步深入到Systemd的工作原理、服务单元文件编写、服务状态管理以及故障排查技巧,为读者呈现一幅Linux服务管理的全景图。 ####
|
Linux Shell Unix
带你读《Linux实战》之一:欢迎使用Linux
你正在期望学习管理Linux计算机吗?这是一个很好的选择。虽然Linux常常驻留于消费者的桌面计算机上,但它同时也是服务器领域的绝对主宰,特别是虚拟服务器和云服务器。如果你打算管理当前引人关注的服务器和网络体系架构,你将不得不围绕Linux的命令行展开学习。除了第1章之外,本书的每一章都包括一个或两个实际项目。鉴于第1章的内容主要用来填补你的Linux知识体系中可能存在的基础知识空白,因此其组织形式与其他章节有所不同。