云备份——初步认识及环境搭建

文章目录

整体功能简介

云备份功能

自动将本地计算机上指定文件夹中需要备份的文件上传备份到服务器中
并且能够通过浏览器进行查看并且下载,其中下载过程支持断点续传功能
而服务器也会对上传文件进行热点管理,将非热点文件进行压缩存储,节省磁盘空间


实现目标

这个云备份项目需要我们实现两端程序,其中包括部署在用户机的客户端程序,上传需要备份的文件
以及运行在服务器上的服务器端程序,实现备份文件的存储和管理,两端合作实现总体的自动云备份功能


服务器程序负责功能细分

1.支持对客户端文件上传功能
2.支持客户端文件备份列表查看功能
3.支持客户端文件下载功能(包含断点续传功能)
4. 热点文件管理功能(对长时间无访问的文件进行压缩存储)


服务端模块划分

1.数据管理模块
(管理的是 备份的文件信息,以便于随时访问)

2.网络通信模块
(实现与客户端的网络通信)

3.业务处理模块
(上传、列表、下载(断点续传) )

4.热点管理模块
(对长时间无访问文件进行压缩存储)


客户端功能细分

1.指定文件夹中的文件检测
(获取文件夹中有什么文件)

2.判断指定的文件是否需要备份
(新增的文件 或者 已经备份过 但是又修改了 ,上次上传后又修改过,但是已经间隔3秒钟都没有被修改)

  1. 将需要备份的文件上传备份到服务器上

客户端模块划分

1.数据管理模块(管理备份的文件)
2.文件检测模块(监控指定的文件夹)
3.文件备份模块(上传需要备份的文件数据)

环境搭建

gcc

输入 sudo yum install centos-release-scl-rh centos-release-scl 安装语言信息

最后显示 complete 表示完成安装


输入 sudo yum install devtoolset-7-gcc devtoolset-7-gcc-c++ 安装gcc和g++的编译器

显示 cpmplete,表示安装成功


输入 source /opt/rh/devtoolset-7/enable 加载配置文件(临时生效,下次加载就没了)

当配置后,输入 g++ -v 时,发现没有命令不存在的报错了


所以为了将加载配置文件 长期有效
输入 echo "source /opt/rh/devtoolset-7/enable" >> ~/.bashrc


安装 jsoncpp

输入 sudo yum install epel-release 安装一些源信息

有可能显示 nothing to do,表示安装失败 但是没关系 继续执行下面步骤即可


输入 sudo yum install jsoncpp-devel 安装isoncpp 开发包

显示 compete 表示 安装成功


输入 ls /usr/include/jsoncpp/json/

若输出 头文件,则说明 jsoncpp 安装成功


bundle库 与 httplib库安装

bundlle 为 数据压缩库


打开 github

先搜索 bundle ,然后 选择 r-lveh-archived/bundle


下载好后将其 放到桌面上


再次搜索 cpp-httplib ,然后 选择 yhirose/cpp-httplib


点击 dowload 进行下载


下载好后将其 放到桌面上


输入 rz ,将这两个文件 分别上传到linux上


输入 ls 指令 , 即可查看到 两个压缩包存在


输入 unzip bundle-master.zip 和 unzip cpp-httplib-master.zip 将两个压缩包进行解压


再次输入 ls 指令时, 即可查看到 bundle-master 和 cpp-httplib-master

相关推荐
2035去旅行9 小时前
bootcmd 详细讲解
linux·嵌入式·arm·soc
陈希1239 小时前
Linux 防火墙配置实战:firewalld、iptables 与云安全组
linux·运维·服务器
女神下凡10 小时前
芯参谋(95):嵌入式文件系统_开发指南
linux·服务器·arm开发·驱动开发·设计规范
且从容.14 小时前
Ubuntu安装flume
linux·ubuntu·flume
承渊政道14 小时前
Linux网络学习【Reactor反应堆模式】
linux·网络·学习·ubuntu·reactor
且从容.17 小时前
ubuntu安装flink
linux·ubuntu·flink
爱和冰阔落18 小时前
【Linux网络】TCP 服务器如何并发处理多个客户端?从 fork、僵尸进程到双重 fork
linux·运维·服务器·网络
程序员沉梦听雨18 小时前
WSL2的安装与使用
linux·wsl
微小的鱼19 小时前
Linux的渲染与显示系统链路
android·java·linux
lisanmengmeng19 小时前
alertmanger 标签 rules 打上分组标签
linux·运维·服务器