当前位置: 首页 > news >正文

使用rsync同步服务器和客户端的文件夹

使用rsync同步服务器和客户端的文件夹

    • 实现目的
    • 实验准备
    • 实验操作步骤
      • 服务器操作
        • 关闭防火墙和SELINUX
        • 安装rsync
        • 修改服务器配置文件/etc/rsync.conf
        • 创建服务器备份文件的目录
        • 创建rsync系统运行的用户
        • 修改备份文件的所有者和所属组
        • 创建rsync.passwd
        • 启动rsync服务并进行验证
      • 客户端
      • 服务器验证
    • 结尾

实现目的

利用rsync实现远程服务器和电脑文件夹的同步

实验准备

本次演示均使用两台虚拟机做准备

服务器192.168.218.136
客户端192.168.218.132

实验操作步骤

服务器操作

关闭防火墙和SELINUX

1️⃣关闭防火墙

[root@sxs home]# systemctl stop firewalld
[root@sxs scripts]# systemctl disable firewalld
Removed "/etc/systemd/system/multi-user.target.wants/firewalld.service".
Removed "/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service".

2️⃣关闭SELINUX

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0#立即生效
安装rsync
#因为之前已经安装过了,所以显示这结果
[root@sxs scripts]# yum -y install rsync
CentOS Stream 9 - BaseOS                                                                              3.4 kB/s | 3.8 kB     00:01    
CentOS Stream 9 - BaseOS                                                                              5.6 MB/s | 8.0 MB     00:01    
CentOS Stream 9 - AppStream                                                                           3.5 kB/s | 4.2 kB     00:01    
CentOS Stream 9 - AppStream                                                                           2.8 MB/s |  19 MB     00:06    
CentOS Stream 9 - Extras packages                                                                     9.1 kB/s | 6.9 kB     00:00    
软件包 rsync-3.2.3-19.el9.x86_64 已安装。
依赖关系解决。
无需任何处理。
完毕!
修改服务器配置文件/etc/rsync.conf
#有好几个都很重要,而且还涉及到权限的问题
[root@sxs scripts]# cat /etc/rsyncd.conf |grep -v "^#\|^$"
uid = rsync        #指定rsync进程以什么用户身份在后台运行,默认是nobody
gid = rsync        #
use chroot = no    #是否将用户锁定在家目录下
max connections =100    #最大连接数
pid file = /var/run/rsyncd.pid    #指定pid文件保存在哪里
timeout = 900                     #访问超时时间
lock file = /var/lock/rsync.lock  #指定lock文件保存在哪里
log file = /var/log/rsync.log     #指定log日志文件保存在哪里
[ test ]                              #模块名称,十分重要
path = /home/backup/                  #客户端推送文件过来的时候,需要保存在哪里
read only = false                     #文件目录只能下载,不能上传
hosts allow = 192.168.218.0/24        #可以访问的IP地址,这是表示只有192.168.218.0的网段可以访问
auth users = vuserback                #指定访问模块需要使用的用户名称,这里的是虚拟用户(不是存在于/etc/passwd)
secrets file = /home/rsync.passwd    #访问模块的用户密码保存在哪里,很重要,而且这rsync.passwd文件的权限只能是600
list = false                         #设置是否可以显示全部的模块列表
创建服务器备份文件的目录
#这一步:对应/etc/rsync.passwd配置文件下的: path = /home/backup/ 
[root@sxs scripts]# mkdir -p /home/backup
创建rsync系统运行的用户
 [root@sxs]# groupadd  rsync[root@sxs]# useradd -r -s /sbin/nologin -g rsync rsync
修改备份文件的所有者和所属组
#这和上文的配置文件的uid和gid对应上,之前做实验的时候,发现所有者和所属组是root的时候,在客户端推送文件的时候一直报错,等我uid和gid修改成rsync的时候以及备份文件修改成rsync:rsync的时候才可以,这也是一个大坑。大家注意
[root@sxs home]# chown rsync:rsync /home/backup/
[root@sxs home]# ll
drwxr-xr-x 2 rsync rsync 21  228 18:46 backup
创建rsync.passwd
#这rsync.passwd的权限记得是600,十分重要的一个点
[root@sxs home]# touch rsync.passwd
[root@sxs home]# echo "vuserback:123" >rsync.passwd 
[root@sxs home]# chmod 600 rsync.passwd 
[root@sxs home]# cat rsync.passwd 
vuserback:123
[root@sxs home]# ll
总用量 4
drwxr-xr-x 2 rsync rsync 21  228 18:46 backup
-rw------- 1 root  root  14  32 00:40 rsync.passwd
启动rsync服务并进行验证
#rsync的端口是873,默认是873
[root@sxs home]# rsync --damon
[root@sxs home]# netstat -tnlp |grep rsync
tcp        0      0 0.0.0.0:873             0.0.0.0:*               LISTEN      48666/rsync         
tcp6       0      0 :::873                  :::*                    LISTEN      48666/rsync

客户端

直接推送文件

#显示下文的这样子,就表示推送成功了[root@localhost /]# cd /scripts/
[root@localhost scripts]# ll
总用量 4
-rwxr--r-- 1 root root 24 228 18:46 test.sh
[root@localhost scripts]# rsync -avz /scripts/ vuserback@192.168.218.136::test
Password:                                   #对应客户端的rsync.passwd文件的密码
sending incremental file list
./
test.shsent 137 bytes  received 46 bytes  73.20 bytes/sec
total size is 24  speedup is 0.13
[root@localhost scripts]#

服务器验证

在服务器可以看到对应的文件了


[root@sxs home]# ll
总用量 4
drwxr-xr-x 2 rsync rsync 21  228 18:46 backup
-rw------- 1 root  root  14  32 00:40 rsync.passwd
[root@sxs home]# ll ./backup/
总用量 4
-rwxr--r-- 1 rsync rsync 24  228 18:46 test.sh

结尾

可能有的写的不是很好,欢迎大家指出来

相关文章:

使用rsync同步服务器和客户端的文件夹

使用rsync同步服务器和客户端的文件夹 实现目的实验准备实验操作步骤服务器操作关闭防火墙和SELINUX安装rsync修改服务器配置文件/etc/rsync.conf创建服务器备份文件的目录创建rsync系统运行的用户修改备份文件的所有者和所属组创建rsync.passwd启动rsync服务并进行验证 客户端…...

计算机网络|Socket

文章目录 Socket并发socket Socket Socket是一种工作在TCP/IP协议栈上的API。 端口用于区分不同应用,IP地址用于区分不同主机。 以下是某一个服务器的socket代码。 其中with是python中的一个语法糖,代表当代码块离开with时,自动对s进行销毁…...

Python 使用 MyHDL库 实现FPGA板卡仿真验证

要使用 Python 结合 MyHDL 库实现 FPGA 板卡的仿真验证,您可以利用 MyHDL 提供的硬件描述语言和仿真功能来进行 FPGA 设计的验证。下面我将为您介绍一个简单的示例,演示如何使用 MyHDL 库进行 FPGA 设计的仿真验证。 步骤概述 编写 MyHDL 硬件描述&…...

解决SpringBoot集成WebSocket打包失败问题

前言 这几天在一个SpringBoot项目中使用WebSocket来用作客服聊天以及上传文件功能,项目在写的时候,以及在idea中跑的时候都非常完美,结果一打成jar包是,报错.在网上查了报错原因,原来是自己导入的WebSocket的jar与SpringBoot内置tomcat中的WebSocket的jar冲突,需要在打包时把S…...

i-vista五星测试标准

智能行车板块以八类场景评测汽车的 单车道纵向控制能力、 单车道横向控制能力、 单车道纵横向组合控制能力及换道辅助能力, 8类场景包括目标车静止、目标车低速、目标车减速、前车切入(新增场景)、直道居中行驶、直道驶入弯道、盲区无车、盲…...

初识Maven

介绍: web后端开发技术ApacheMaven是一个项目管理和构建工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建。安装:http://maven.apache.org/ Apache软件基金会,成立于19…...

16 Educational Codeforces Round 142 (Rated for Div. 2)C. Min Max Sort(递归、思维、dp)

C. Min Max Sort 很不错的一道题目,不过脑电波和出题人每对上, q w q 。 qwq。 qwq。 正难则反。 我们考虑最后一步是怎么操作的。 最后一步一定是对 1 1 1和 n n n进行操作 那么上一步呢? 上一步应该是对 2 2 2和 n − 1 n-1 n−1 以此类推…...

Mongodb安装配置

Mongodb安装配置 一、MongoDB简介二、Windows下MongoDB安装2.1.MongoDB下载2.2.安装MongoDB【解压版】2.2.1.解压2.2.2.创建和 bin 目录同级 data\db 目录来存储 MongoDB 产生的数据2.2.3.进入 bin 目录,cmd命令行窗口,使用命令的指定存储数据文件的形式…...

Linux常用操作命令大全

Linux常用操作命令大全 Linux,作为一款开源的操作系统,深受全世界开发者和系统管理员的喜爱。在Linux环境下,用户通过命令行界面可以执行各种操作,从而实现对系统的全面控制。本文将详细介绍Linux中常用的操作命令,帮助读者更好地理解和运用这些命令。 一、文件操作命令…...

CVPR2023 | 提升图像去噪网络的泛化性,港科大上海AILab提出 MaskedDenoising,已开源!

作者 | 顾津锦 首发 | AIWalker 链接 | https://mp.weixin.qq.com/s/o4D4mNM3jL6sYuhUC6VgoQ 当前深度去噪网络存在泛化能力差的情况,例如,当训练集噪声类型和测试集噪声类型不一致时,模型的性能会大打折扣。作者认为其原因在于网络倾向于过度…...

[python] dict类型变量写在文件中

在Python中,如果你想要将一个字典变量以具有可读性的格式写入文件,并且指定缩进为2个空格,你可以使用json模块来实现。json模块提供了一种很方便的方法来进行序列化和反序列化Python对象。下面是一个具体的示例: 字典变量以具有可…...

设计循环队列

文章目录 一、循环队列的构建二、判断是否为空三、判断队列是否满了四、队列插入五、队列的删除六、队列取头尾 设计循环队列 下面是队列提供的接口函数 typedef struct {int* a;int k;int front;int rear; } MyCircularQueue;MyCircularQueue* myCircularQueueCreate(int k) {…...

linux文件解压和压缩命令

linux文件解压和压缩命令 1.格式.zip 解压:unzip filename.zip 压缩:zip filename.zip directoryName 2.格式.rar 解压: #解压方式1(会在当前解压目录内产生一个以压缩包名字命名的目录,目录内是解压内容) …...

飞链云:让AI创造价值,让人类享受收益

我梦想有天,每个有能力的人都可以做自己喜欢的事情,都应该去做自己喜欢的事情,并且可以获得应有的收益。 有的人可以称之为“人”,有的人你得称他为鬼,有的人不如畜生。 如今社会,每个人都为了“生活”日…...

[NSSCTF 2nd]MyJs

做一题ejs原型链污染 首先是登录界面 源码里面提示了源码的路由 js不熟先审计一下 const express require(express); #导入Express框架,用于构建Web应用程序的服务器和路由 const bodyParser require(body-parser); #导入body-parser中间件,用于解析…...

NLP-词向量、Word2vec

Word2vec Skip-gram算法的核心部分 我们做什么来计算一个词在中心词的上下文中出现的概率? 似然函数 词已知,它的上下文单词的概率 相乘。 然后所有中心词的这个相乘数 再全部相乘,希望得到最大。 目标函数(代价函数&#xff0…...

Java学习--学生管理系统(残破版)

代码 Main.java import java.util.ArrayList; import java.util.Scanner;public class Main {public static void main(String[] args) {ArrayList<Student> list new ArrayList<>();loop:while (true) {System.out.println("-----欢迎来到阿宝院校学生管理系…...

柯西矩阵介绍

经典定义 柯西矩阵&#xff08;Cauchy Matrix&#xff09;&#xff0c;是一种特殊类型的矩阵&#xff0c;它在数学中的多个领域&#xff0c;包括线性代数、数值分析和插值理论中都有重要应用。柯西矩阵以19世纪法国数学家奥古斯丁-路易柯西的名字命名。 柯西矩阵是一个方阵&am…...

PureFlash v1.9.1特性介绍

PureFlashv1.9.1版本特性主要有4个&#xff1a; 1. 支持RDMA网络 使用RDMA协议可以大大减少对CPU的消耗&#xff0c;性能提升30%以上。 PureFlash的网络配置分为存储节点间网络&#xff08;存储后端网&#xff09;和客户端网络&#xff08;前端网&#xff09;。都支持使用RD…...

XXE 漏洞简单研究

近期在做个基础的 web 常见漏洞的 ppt&#xff0c;主要参考 OWASP TOP 10 2017RC2&#xff0c;此版本中增加了 XXE 攻击&#xff0c;所以自己简单的研究下 XXE 攻击。XXE&#xff08;XML External Entity&#xff09;XML 外部实体&#xff0c;当前端和后端通信数据采用 xml&…...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分&#xff1a; 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析&#xff1a; CTR…...

RocketMQ延迟消息机制

两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数&#xff0c;对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后&#xf…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中&#xff0c;Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染&#xff08;即CPU被阻塞&#xff09;&#xff0c;这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业

6月9日&#xff0c;国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解&#xff0c;“超级…...

vue3 字体颜色设置的多种方式

在Vue 3中设置字体颜色可以通过多种方式实现&#xff0c;这取决于你是想在组件内部直接设置&#xff0c;还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法&#xff1a; 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

HTML前端开发:JavaScript 常用事件详解

作为前端开发的核心&#xff0c;JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例&#xff1a; 1. onclick - 点击事件 当元素被单击时触发&#xff08;左键点击&#xff09; button.onclick function() {alert("按钮被点击了&#xff01;&…...

微信小程序云开发平台MySQL的连接方式

注&#xff1a;微信小程序云开发平台指的是腾讯云开发 先给结论&#xff1a;微信小程序云开发平台的MySQL&#xff0c;无法通过获取数据库连接信息的方式进行连接&#xff0c;连接只能通过云开发的SDK连接&#xff0c;具体要参考官方文档&#xff1a; 为什么&#xff1f; 因为…...

数据库分批入库

今天在工作中&#xff0c;遇到一个问题&#xff0c;就是分批查询的时候&#xff0c;由于批次过大导致出现了一些问题&#xff0c;一下是问题描述和解决方案&#xff1a; 示例&#xff1a; // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O(n) 时间复杂度…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作&#xff1a;ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等&#xff08;ArcGIS出图图例8大技巧&#xff09;&#xff0c;那这次我们看看ArcGIS Pro如何更加快捷的操作。…...