• Gitlab用户信息批量导出


    前言

        因运维体系中涉及到用户权限管理及统计,需将Gitlab用户数据提取出来并录入到公司内部自建的权限统计平台。

        本文将对Gitlab的用户信息数据批量导出进行操作说明!

    思路

        A)要对数据进行批量的导出,当然第一想法是将数据库中对应的库、表相关数据进行导出即可;

        B)通过Navicat数据库工具连接Gitlab的Postgresql数据库,能够很方便的查找相关数据及信息导出,但工具在电脑本地,Gitlab在服务器,存在连接授权、连接信息等相关配置,这些操作可能涉及到服务重启等操作,对现用的Gitlab服务存在潜在的隐患,故工具方式弃用;

        C)故笔者选择:登陆Gitlab服务器进行数据库登陆、数据查询及信息导出操作;

    操作

    # 根据配置文件,定位相关信息

    [root@l-git4 ~]# cat /var/opt/gitlab/gitlab-rails/etc/database.yml

    # 查看Gitlab对应的系统用户

    [root@l-git4 ~]# cat /etc/passwd | grep gitlab

    # 根据信息登陆数据库

    # 切换用户

    [root@l-git4 ~]# su - gitlab-psql

    # 登陆数据库(-h指定host,-d指定数据库)

    -sh-4.2$ psql -h /var/opt/gitlab/postgresql -d gitlabhq_production

    # 查看帮助信息

    gitlabhq_production=# h

    # 查看数据库

    gitlabhq_production=# l

    # 查看库中的表(执行命令后,按回车键显示更多表信息)

    gitlabhq_production=# dt

    # 通过筛查,可在库中找到users表,相关用户信息都记录在表中!

    # 查看users表结构

    gitlabhq_production=# d users

    # 查看表信息

    gitlabhq_production=# SELECT * FROM users;

    # 查看users表中的name字段

    gitlabhq_production=# SELECT name FROM users;

    # 登出数据库

    gitlabhq_production=# q

    # 确定表表users中的 username , email , state 字段是需要提取的信息,进行导出操作

    -sh-4.2$  echo 'select username,email,state from users;' |psql -h /var/opt/gitlab/postgresql -d gitlabhq_production > info.txt

  • 相关阅读:
    https原理以及golang基本实现
    关于Goroutine与Channel
    Golang中log与fmt区别
    liteide使用中的注意点
    Golang中的error类型
    关于linux中的目录配置标准以及文件基本信息
    Godep的基本使用
    Golang基本类型整理
    ssh使用技巧
    看完让你彻底搞懂Websocket原理
  • 原文地址:https://www.cnblogs.com/kazihuo/p/11200585.html
Copyright © 2020-2023  润新知