Go-Ldap-Admin Go-Ldap-Admin
首页
  • 产品概述
  • 安装入门
  • 参与贡献
  • 最佳实践

    • 动态字段关系管理
    • 配置钉钉同步
    • 配置企业微信同步
    • 配置企业飞书同步
  • 常见问题
版本历史
  • openLDAP
捐赠支持
在线体验 (opens new window)
  • Fantastic-admin 开箱即用的管理系统框架 (opens new window)
GitHub (opens new window)
首页
  • 产品概述
  • 安装入门
  • 参与贡献
  • 最佳实践

    • 动态字段关系管理
    • 配置钉钉同步
    • 配置企业微信同步
    • 配置企业飞书同步
  • 常见问题
版本历史
  • openLDAP
捐赠支持
在线体验 (opens new window)
  • Fantastic-admin 开箱即用的管理系统框架 (opens new window)
GitHub (opens new window)
  • 产品概述

    • 关于go-ldap-admin
    • 项目许可证
    • 平台功能概览
    • 关于修改密码的方法以及说明
    • 付费服务
  • 安装入门

    • 快速开始
    • docker-compose在本地快速拉起测试环境
    • 生产环境原生部署流程
    • 本地开发指南
  • 参与贡献

    • 问题反馈
  • 最佳实践

    • ldap用户以及分组的设计思路
    • 动态字段关系管理
    • 配置钉钉同步
    • 配置企业微信同步
    • 配置飞书同步
    • 三方IM数据同步调试
  • 常见问题

    • 问题汇总摘要
    • 如何将ldap中的basedn更改为自己定义的
    • 如何自定义秘钥对儿
    • 如何备份
      • 前言
      • 准备
      • 思路
      • 实践
      • 总结
  • 项目相关
  • 常见问题
二丫讲梵
2023-03-28
目录

如何备份

# 前言

当我们使用 go-ldap-admin 全面接管了 openLDAP 之后,openLDAP 平台的数据的备份,也就从原来的备份 openLDAP 转移到了更加简单易用的备份 MySQL 数据就可以了。让我们再看一次平台设计的架构图:

image_20230328_132942

只要我们把 MySQL 数据备份好了,那么就算是整个平台全部挂了,而 MySQL 数据库是异地备份着的,那么就可以很快将原来的 openLDAP 恢复回来。

本文就是针对这一问题进行讲解以及演示。

# 准备

首先我们部署好了一套 go-ldap-admin 系统,而且已经在生产使用了,此时可以看到系统中数据大概如下:

image_20230328_133231

在原来默认数据的基础上,我们创建了一个 ops 的 cn,与 zhangsan 的用户。

# 思路

平时我们可以通过脚本 + 定时任务将数据库进行备份,并且异地保存。

此时一旦在运行的主机崩溃,或者其他原因,导致数据丢失或损毁而服务不可用,则可按如下思路进行恢复:

  • 首先还按照原来的部署方案进行部署,只不过需要注意,禁用掉 config.yml 中的数据初始化参数。
  • 然后将数据导入到 MySQL,再在平台上把分组以及用户同步到 openLDAP 即可。

# 实践

我们当前的服务目录如下:

tree -L 2
.
├── config
│   ├── config.yml
│   ├── init.ldif
│   └── my.cnf
├── data
│   ├── mysql
│   ├── openldap
│   └── phpadmin
├── docker-compose.yml
└── go_ldap_admin.sql

5 directories, 5 files
1
2
3
4
5
6
7
8
9
10
11
12
13
14

可以看到数据都在 data 目录,现在我们删除掉 data 目录,以模拟数据异常的故障。

此时需要注意,务必把 config.yml 中的初始化配置关闭掉:

# 是否初始化数据(没有初始数据时使用, 已发布正式版改为false)
init-data: false
1
2

然后启动服务。

服务启动之后,此时 go-ldap-admin 是无法登陆的,需要把 go_ldap_admin.sql 拷贝到 mysql 容器中,然后将数据恢复回去。

恢复完成之后,再重启一下服务,然后就可以登陆 web 界面了。

此时可以看到,一些非默认的数据,已经出现了上传的按钮:

image_20230328_140815

这个时候需要注意,先同步分组,然后再同步用户,这两部执行完成之后,可以看到 openLDAP 中的数据又恢复了:

image_20230328_133231

# 总结

所以我们以后对接平台之后,就不再需要维护 openLDAP 的数据了,平时只要注意两边的数据对齐,然后妥善把 MySQL 数据异地备份就可以了。

帮助我们改善此页面 (opens new window)
上次更新: 2023/10/14, 16:01:05
如何自定义秘钥对儿

← 如何自定义秘钥对儿

Theme by Vdoing | Copyright © 2022-2025 Eryajf | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式