# ServerGuardian **Repository Path**: zhang-yi5058/ServerGuardian ## Basic Information - **Project Name**: ServerGuardian - **Description**: 一个自动化的服务器状态监测和文件同步解决方案,以确保服务器的稳定性和数据的完整性。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-10-15 - **Last Updated**: 2023-10-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 项目:`ServerGuardian` ### 参与人员: - 张忆多 > 个人博客:http://siyi.zhangyiduo.top/ > > `Gitee`仓库:https://gitee.com/zhang-yi5058 > > `Github`仓库:https://github.com/vegetabledog5058 - 魏春锡 > 个人博客:https://fw.nanzhou.xyz/ > > `Gitee`仓库:https://gitee.com/wei-chunxi > > `Github`仓库:https://github.com/yanyinan ## 项目描述 一个自动化的服务器状态监测和文件同步解决方案,以确保服务器的稳定性和数据的完整性。 ## 需求 1. 为方便后期维护和扩展,现将所有服务器信息、文件列表从` json` 文件转存到`MySQL`数据库中,并添加记录日志功能。即现在将所有信息存储在数据库表中,检测到服务器状态异常后,需要发送邮件到管理员邮箱通知管理员;状态正常则去同步文件。在完成业务需求的同时需要记录日志信息(日志文件及日志表)。 2. 为方便操作,现为该系统设计一个配套的可视化界面。界面提供点击按钮开始检测服务器并同步文件。可以在界面上添加、修改或删除服务器信息可以在界面上设置同步文件列表 ## 需求整理 1. `json`转存到`MySQL`数据库 2. 添加日志功能 3. 异常,发送邮件到管理员邮箱通知管理员 4. 正常同步文件。 5. 同时需要记录日志信息(日志文件及日志表)。 ## 数据库设计 ### 日志 1. ID 2. 错误类型 3. 错误信息 4. 运行状态 5. 时间戳 ![image-20231015232548460](https://s2.loli.net/2023/10/15/w5tvba1PdkhHSAF.png) ### 信息 1. Id 2. 浏览器访问地址 3. 管理员账户 4. 管理员密码 5. 电子邮箱 6. 本地上传地址 7. 远程服务器地址 ![image-20231015232600878](https://s2.loli.net/2023/10/15/sKHjlicNSInY1z5.png) ## 技术栈 - `JAVA` - `Json`解析 - `Ftp`协议文件操作与`Tcp`协议 - `sorket`网络编程 - `MySQL`数据库 - 邮件发送 - `IO`流 - 多线程 ## 使用到的第三方库 - `activation-1.1.1.jar` - `commons-dbutils-1.8.1.jar` - `commons-net-3.9.0.jar` - `fastjson-1.2.83.jar` - `javax.mail-1.6.2.jar` - `lombok-1.18.28.jar` ## 功能模块 1. 邮件发送 2. 文件同步 3. 检测服务器正常