轻松搭建Rsync服务,实现高效文件同步

news/2024/9/23 7:15:04/

🚩本文介绍

在信息化快速发展的今天,文件同步的需求日益显著,无论是在企业内部的文件共享,还是在跨地域的数据备份,高效的文件同步都是不可或缺的一环。而Rsync作为一种快速、增量、远程(和本地)文件复制工具,正是实现这一目标的理想选择。

本文将为小伙伴们详细介绍如何轻松搭建Rsync服务,实现高效文件同步。无需具备深厚的专业知识,只需按照本文的指引,就能轻松搭建起一套高效、稳定的Rsync文件同步系统

⭐关于博主⭐

🏆荣誉认证:51CTO博客专家博主、2023年度博主Top3、TOP红人、明日之星;CSDN开发者社区运维领域优质创作者、2023年大学生博主学习挑战赛Top2;阿里云开发者社区专家博主、技术博主、星级博主、云计算方向ACP证书获得者;

💻本文由微笑的小许原创!

🎉欢迎关注🔎点赞👍收藏⭐留言📝

📆首发时间:🌴2024年4月26日🌴

✉️坚持和努力一定能换来诗与远方!

🙏作者水平很有限,如果发现错误,一定要及时告知作者哦!感谢感谢!

img

不要偷走我小火车哦~ ~ ~

文章目录

  • 🚩本文介绍
    • 安装Rsync服务并修改配置文件
    • 服务端配置
    • 客户端配置
    • 相关报错及解决方案

Rsync_29">安装Rsync服务并修改配置文件

安装服务

默认系统都已经安装好rsync,可以通过以下命令查询是否已经安装

Linux">[root@rsync ~]# rsync --version---
如果没有安装可以使用以下命令进行安装Rsync
[root@rsync ~]# yum -y install rsync

修改Rsync配置文件内容信息

[root@rsync ~]# vim /etc/rsyncd.conf

image-20240426095855176

配置文件参数说明

uid = rsync		#Rsync服务用户,默认为nobody,gid = rsync		#Rsync服务用户组,默认为nobodyfake super = yes 		#允许进程不以root身份运行,就可以改变文件属性use chroot = no 		#如果"use chroot"指定为true,那么rsync在传输文件以前首先chroot到path参数所指定的目录下。这样做的原因是实现额外的安全防护,但是缺 点是需要以roots权限,并且不能备份指向外部的符号连接所指向的目录文件。默认情况下chroot值为true。max connections = 200 		#设置最大连接数,默认为0表示无限制,负值表示关闭这个功能timeout = 400		#超时时间,以秒为单位pid file = /var/run/rsyncd.pid		#Rsync Daemon启动后将其进程PID写入到此文件中,如果这个文件已经存在,Rsync进程不会覆盖该文件,而是会终止lock file = /var/run/rsyncd.lock		#指定lock文件用来支持“max connections”参数,使得总连接数不会超过限制,默认为/var/run/rsyncd.locklog file = /var/log/rsyncd.log		#保存Rsync输出的相关日志信息ignore errors		#忽略I/O错误read only = false		#指定客户端是否可以上传文件,默认所有模块都为true表示可写入list =false		#是否允许客户端可以查看可用模块列表,默认为可以,如果配置为yes或者true,执行rsync 192.168.100.20::命令会显示配置的模块信息hosts allow = 192.168.100.0/24		#指定可以连接的客户端主机名或者IP地址段,表示白名单hosts deny = 0.0.0.0/32 		#指定不可连接的客户端主机名或者IP地址段,表示黑名单auth users = rsync_backup		#指定客户端可以使用的用户名和哪些模块,多个用户或模块可以用空格或者逗号分隔secrets file = /etc/rsync.password		#指定用户名和密码存放的文件,格式为用户名:密码[backup]		#模块名称,需要用括号括起来path = /backup		#模块中存在文件的目录路径

image-20240426165751017

服务端配置

创建相关用户和目录

创建管理员备份目录的用户

[root@rsync ~]# useradd rsync -s /sbin/nologin

创建backup备份目录

[root@rsync ~]# mkdir -p /backup

授权Rsync用户和组管理/backup用户

[root@rsync ~]# chown -R rsync.rsync /backup

配置账号密码及文件权限

将账号和密码写入存放密码文件中

Linux">[root@rsync ~] # echo "rsync_backup:Admin@123" >/etc/rsync.password

修改文件权限

Linux">[root@rsync ~]# chmod 600 /etc/rsync.password

启动服务并检查服务状态

启动Rsync服务

Linux">[root@rsync ~]# systemctl start rsyncd

设置开机自启

Linux">[root@rsync~]# systemctl enable rsyncd

检查启动状态

Linux">[root@rsync ~]# systemctl status rsyncd

客户端配置

配置密码文件并修改文件权限

检查客户端是否已安装Rsync

Linux">[root@rsync ~]# rsync --version

如果没有安装使用命令安装

Linux">[root@rsync ~]# yum -y install rsync

配置客户端密码文件

Linux">[root@rsync ~]# echo "Admin@123" >/etc/rsync.password---
注:客户端密码需和服务端密码一致

修改文件权限

Linux">[root@rsync ~]# chmod 600 /etc/rsync.password---
600表示只有拥有者有写权限、其他用户没有任何权限

相关报错及解决方案

报错一:

rsync:failed to connect to 192.168.100.20:No route to host (113)rsync error:error in socket IO (code 10)at client server.c(104)[receiver=3.0.6]

原因:对方没开机、被防火墙阻止了、端口没有开放

解决方法:

[root@rsync ~]# iptables -l INPUT -p tcp -dport 837 -j ACCEPT---
开放837端口

或者直接关闭防火墙

[root@rsync ~]# ststemctl stop firewalld
[root@rsync ~]# systemctl disable firewalld 

报错二:

sending incremental file list
rsync:recv generator:mkdir "test"(in backup)failed:Permission denied (13)
**Skipping any contents from this failed directory **
test/sent 91 bytes received 172 bytes
526.00 bytes/sec
total size is 17 speedup is 0.06

原因: 没有关闭SElinux导致的

解决方法:

[root@rsync ~]# setenforce 0
[root@rsync ~]# vim /etc/selinux/config---
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled	#把默认的参数修改为disabled
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted 

image-20240426164830703


http://www.ppmy.cn/news/1438294.html

相关文章

Excel vlookup函数的使用教程 和 可能遇到的错误解决方法

使用VLOOKUP示例 被查询的表格 表一 A列B列C列A1aB2bC3c 要匹配的列 表二 F列G列H列ACBDA 要G列匹配字母,H列匹配数字 G 使用公式VLOOKUP(F5,A:D,3,0) 参数说明 F5 是表二 F列第五行的A A:D表是要匹配的数据列表在A到D列,就是表一 (注意…

路由重分布的概念与配置

路由重分布的概念 l 路由重分布是指连接不同路由域(自治系统)的边界路由器,它在路由协议之间交换和通告路由信息 从一种协议(含静态/直连路由)到另一种协议 同一种协议的多个实例 路由重分布的背景 网络出口位置…

【C++】:构造函数和析构函数

目录 前言一,构造函数1.1 什么是构造函数1.2 构造函数的特性1.3 总结 二,析构函数2.1 什么是析构函数2.2 析构函数的特性2.3 总结 前言 如果一个类中什么成员都没有,简称为空类。 空类中真的什么都没有吗?并不是,任何…

MarginNote 3 for Mac:一站式思维导图与笔记神器,让学习更高效

MarginNote 3 for Mac是一款功能强大的阅读和学习工具软件,它将PDF/EPUB阅读器和多种学习工具集成起来,旨在帮助用户更有效地进行阅读、笔记整理以及知识管理。 这款软件的核心功能在于其能够将阅读与学习过程紧密结合。用户可以在阅读文档时&#xff0…

Kafka之日志存储详解

目录 1. 存储介质的速度常识 1.1 各个存储介质的速度层级图 1.2 速度层级描述 2. kafka日志文件目录结构 2.1 kafka日志文件目录描述 2.2 每个主题分区下的文件目录结构 3. 具体日志文件详解 3.1 ".index"文件 3.2 ”.timeindex“文件 3.3 ".log"…

Java 执行 JVM Native 方法导致内存碎片

背景🚞 由于需要调用到 C/C 的业务对外,使用了 Java 来封装 SDK 进行调用。 事故起因⚡:当 Java 使用 JNI 发生调用 JVM Native 本地方法时,发现内存一直飙升发生 OOM。 操作复现🔍 使用 Jmeter 进行压测高并发环境…

isListEqual方法比较

这个方法有改进空间吗&#xff1f; private static boolean isListEqual(List<String> l0, List<String> l1) {if (l0 null && l1 null)return true;if (l0 l1)return true;if (l0 null || l1 null)return false;if (l0.size() ! l1.size())return f…

Redis服务

参考文章&#xff1a; Win.dow.s上安装Redis教程 redis数据库基础篇 Redis 的安装及图形化界面 Redis DeskTop Manager 的安装与使用 下载Redis Redis压缩包 打开Redis 法1&#xff1a; 双击redis-server.exe 应用程序 法2&#xff1a; 进入redis目录下&#xff0c;打cmd…