https://github.com/SunAndMoon-uestc/backup
- cmake version 3.16.3;
- GNU Make 4.2.1
- g++ 9.4.0
- OpenSSL 1.1
- openjdk version 1.8.0_342
- Apache Maven 3.8.6
- sh compile.sh
- sh run.sh
- 使用ip addr 获取当前ip
- 使用浏览器打开 ip:9090 访问界面端
- 在界面端输入的路径必须为绝对路径
-
操作系统
- Distributor ID: Ubuntu
- Description: Ubuntu 20.04 LTS
- Release: 20.04
- Codename: focal
- 基础功能:备份、恢复、检查合法性 40
- 打包解包 10
- 元数据支持 10
- 特殊文件支持 10
- 压缩解压 10
- 加密解密 7
- Web界面 10
- 网盘备份 10
-
指令集
- git push (建立项目并上传)
- git pull origin master 下拉
-
start 建立项目
start-0x建立项目,完成基础功能start-1.x基础功能实现start-2.xstart-2.1实现加密解密,加密文件后缀为.cpt的二进制文件start-2.2修正加密密码有关问题start-2.3修正backup目录的创建问题start-2.4支持管道、软链接start-2.5支持硬链接start-2.6支持压缩start-2.7定位加密错误,除去加密;添加可选参数start-2.8软链接复制优化;错误处理start-2.9使用openssl进行加密start-2.10生成支持前端的动态链接库(so)start-2.11解决文件夹属性更改错误;调整错误返回start-2.12定位备份错误文件,将错误文件记录在txt中start-2.13修改检查功能问题
start-3xstart-3.0前端测试start-3.5恢复功能错误修正(空行)
mkdir buildcd buildcmake ..makecd .../build/code/backup [path] [0 / 1 / 2] [0/1/2] [key]- 注意必须使用绝对路径
- 0 backup ; 1 recover; 2 check
- 0 基本功能; 1 基本功能 + 压缩 ; 2 基本功能+压缩+加密
- 密码长度任意,但有效长度为16位
- v1.0 创建网站项目
- v1.1 添加动态链接库.so文件,添加相关依赖
- v1.2 创建调用.so文件的java库
- v1.3 改用使用新进程调用算法库的方式
- v2.1 导入前端模板
- v2.2 修改相关配置
- v2.3 调整前端板式
- v2.4 完成界面设计
- v2.5 添加校验功能
- v2.6 结果自动刷新
- v2.7 添加错误模版
- v2.8 添加网盘展示
- v3.1 备份部分基本实现
- v3.2 恢复和校验部分基本实现
- v3.3 数据库存储备份方式完成
- v3.4 实现算法库路径参数化 (失败)
- v3.5 校验出错定位展示
- v3.6 解决v3.4中的失败问题
- v3.7 实现文件路径合法化
- v3.8 实现错误结果的展示
- v3.9 解决了文件路径合法性校验遗漏问题,解决了校验时需要密码问题,解决了空路径或空密码问题
- v3.10 解决了目前已知的bug。
- v3.11 添加环境配置指南
- v3.12 添加网站启动脚本,增加网盘传输功能
==================================================
- 调用算法前检查文件路径是否合法,如果最后以
“/”结尾,则删去“/”=====解决===== - 实现数据库的插入功能 =====解决=====
- 将错误代码与文字提示绑定 =====解决=====
- 解决特殊情况:用户选择不需要密码形式,但实际备份文件是加密的,此时现有程序没有检查密码,易导致出错。 =====解决=====
- 在写入和读取数据库前检查路径合法性,即最后有无
“/”结尾,并进行处理 =====解决===== - 校验时需要使用密码,需读取数据库来获得 =====解决=====
- 解决当用户输入文件路径为空或密码为空时报错问题 =====解决=====
手动克隆代码库并将网站源码打成 jar 包,或直接下载已打包好的 jar 包
# 下载代码库并进行打包
> git clone https://github.com/Leven0212/backup-system-web.git
> mv backup-system-web-master backup-system-web
> cd backup-system-web
> mvn clean package> wget https://raw.githubusercontent.com/Leven0212/backup-system/master/backup-system-web-0.0.1-SNAPSHOT.jarJava版本 >= 1.8
MongoDB版本 >= 3.6
# 下载 Java 环境
> sudo apt install openjdk-8-jdk
# 下载 MongoDB 环境
> sudo apt install mongodb- 如果要手动执行代码打包,还需配置
maven环境
> sudo apt install maven# 启动MongoDB
> service mongodb start
# 启动web服务,其中参数 xxx 处填写算法库根目录
> java -jar backup-system-web-0.0.1-SNAPSHOT --algorithm.home="xxx"
# 启动网盘服务端
> cd server
> java -cp ./target/classes org.example.FileTransferServer