使用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 2月 28 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 2月 28 18:46 backup
-rw------- 1 root root 14 3月 2 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 2月 28 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 2月 28 18:46 backup
-rw------- 1 root root 14 3月 2 00:40 rsync.passwd
[root@sxs home]# ll ./backup/
总用量 4
-rwxr--r-- 1 rsync rsync 24 2月 28 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算法的核心部分 我们做什么来计算一个词在中心词的上下文中出现的概率? 似然函数 词已知,它的上下文单词的概率 相乘。 然后所有中心词的这个相乘数 再全部相乘,希望得到最大。 目标函数(代价函数࿰…...
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("-----欢迎来到阿宝院校学生管理系…...
柯西矩阵介绍
经典定义 柯西矩阵(Cauchy Matrix),是一种特殊类型的矩阵,它在数学中的多个领域,包括线性代数、数值分析和插值理论中都有重要应用。柯西矩阵以19世纪法国数学家奥古斯丁-路易柯西的名字命名。 柯西矩阵是一个方阵&am…...
PureFlash v1.9.1特性介绍
PureFlashv1.9.1版本特性主要有4个: 1. 支持RDMA网络 使用RDMA协议可以大大减少对CPU的消耗,性能提升30%以上。 PureFlash的网络配置分为存储节点间网络(存储后端网)和客户端网络(前端网)。都支持使用RD…...
XXE 漏洞简单研究
近期在做个基础的 web 常见漏洞的 ppt,主要参考 OWASP TOP 10 2017RC2,此版本中增加了 XXE 攻击,所以自己简单的研究下 XXE 攻击。XXE(XML External Entity)XML 外部实体,当前端和后端通信数据采用 xml&…...
Android Wi-Fi 连接失败日志分析
1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...
RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...
Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...
转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...
ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...
