页首自改代码

Hey, Nice to meet You.  why ?

☆☆☆所谓豪杰之士,必有过人之节.人情有所不能忍者,匹夫见辱,拔剑而起,挺身而斗,此不足为勇也,天下有大勇者,猝然临之而不惊,无故加之而不怒.此其所挟持者甚大,而其志甚远也.          
返回顶部

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

posted on 2019-07-17 13:53  罗穆瑞  阅读(5063)  评论(0编辑  收藏  举报

导航