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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM