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

🚩本文介绍

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

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

⭐关于博主⭐

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

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

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

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

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

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

img

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

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

安装服务

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

[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服务用户组,默认为nobody

fake 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.lock

log 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

配置账号密码及文件权限

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

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

修改文件权限

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

启动服务并检查服务状态

启动Rsync服务

[root@rsync ~]# systemctl start rsyncd

设置开机自启

[root@rsync~]# systemctl enable rsyncd

检查启动状态

[root@rsync ~]# systemctl status rsyncd

客户端配置

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

检查客户端是否已安装Rsync

[root@rsync ~]# rsync --version

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

[root@rsync ~]# yum -y install rsync

配置客户端密码文件

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

---
注:客户端密码需和服务端密码一致

修改文件权限

[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

  • 24
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微笑的小许

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值