Gitlab用户信息批量导出

  • 时间:
  • 浏览:4

    因运维体系中涉及到用户权限管理及统计,需将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