上午服务器领导通知我给服务器所有同事添加gitlab账号,服务器总共67个人,这要是一个一个在页面添加,我得累死,是否有其他的办法呢?有问题找google,果然是可以通过gitlab的API批量添加的,网上有用python实现的,我试了下,可能是我的操作姿势不对,没成功,于是我就换了我熟悉的shell大法实现了需求,其实就是一个while循环,哈哈,脚本如下:

#!/bin/bash
#批量创建gitlab用户
userinfo="userinfo.text"
while read line
do
password=`echo $line | awk '{print $1}'`
mail=`echo $line | awk '{print $2}'`
username=`echo $line | awk '{print $3}'`
name=`echo $line | awk '{print $4}'`
curl -d "password=$password&email=$mail&username=$username&name=$name&private_token=AH2zvaHy8txyWtUxMvyz" "http://192.168.74.144/api/v4/users" done <$userinfo

用户信息如下:

 test123@qq.com test123 刘辉煌
@qq.com test345 王晨燕

第一列至第四列分别是密码,邮箱,gitlab用户名,别名,到这里,有小伙伴就会说了,还不是需要一行一行输入员工的信息啊,这也挺累的啊。的确如此,我取数据是从ldap里面取得用户名,密码也是通过脚本生成一个文件后,然后去里面取到密码。说到底还是需要手动输入的,但这比在网页上操作快多了,而且出错率低。有更好的办法,请告诉我,528634141@qq.com

通过gitlabAPI批量创建用户的更多相关文章

  1. [工具] 分布式系统下批量创建用户及分发公钥打通ssh通道的脚本

    在分布式系统下偶尔会有这样的需求,要增加一个服务时,需要在集群的所有节点上创建同一个用户,然后打通ssh通道,再分发软件包.配置.执行命令.启动服务... 这个问题的根源是如何集中配置和管理系统,专业 ...

  2. salt进程查看插件&salt批量创建用户

    接受key 剔除主机   启动 salt-minion-d     软件包的安装   salt '*' state.sls init.env-init test=true   salt批量创建用户: ...

  3. SERVER 2012 R2 core域环境下批量创建用户

      Write by xiaoyang 转载请注明出处 步骤一:创建域 基本配置 1.         输入命令进入配置 2.         输入8进入网络配置 3.         选择要配置的网 ...

  4. windows批量创建用户

    一.建立用户的命令行语法: 建立用户:net  user  用户名  密码  /add           (如:net user test 123 /add)  提升权限:net  localgro ...

  5. Oracle使用外部表批量创建用户

    整体思路:通过使用外部表将用户名导入Oracle的表中,然后通过PL/SQL遍历数据表,批量创建用户. 具体步骤如下: 1.在安装数据库的服务器的C盘根目录创建一个User List.txt文件,内容 ...

  6. shell脚本实例-实现监控tcp的链接状态另一种方式批量创建用户

    Array实现TCP的链接状态 #!/usr/bin/bash declare -A status type=`ss -an | grep :80|awk '{print $2}'` for i in ...

  7. Linux系统下批量创建用户

    Linux批量创建用户 [root@ldapserver ~]# ) ; do useradd -d /home/ldapuser$i ldapuser#i; done [root@ldapserve ...

  8. Linux 下批量创建用户(shell 命令)

    第一种方法: 用shell批量创建用户,分为2中:1,批量创建的用户名无规律 :2.批量创建的用户名有规律首先,来说下批量创建的用户名无规律的shell:先把需要批量创建的用户名用一个文本文档列出来, ...

  9. shell-012:批量创建用户

    # #!/bin/bash # 批量创建用户 # 分析:用命令给用户创建密码的方法有两种 # . 可以直接用echo的方法 # echo "abc-123" |passwd roo ...

随机推荐

  1. lintcode-18-带重复元素的子集

    带重复元素的子集 给定一个可能具有重复数字的列表,返回其所有可能的子集 注意事项 子集中的每个元素都是非降序的 两个子集间的顺序是无关紧要的 解集中不能包含重复子集 样例 如果 S = [1,2,2] ...

  2. C语言的世界

    大家好,我是一名大一的学生,我叫陈由钧,我来自计算机系,一开始选择这门专业的时候,是出于对计算机的热爱,我喜欢计算机,喜欢没事琢磨琢磨计算的各种程序,各种软件,所以我选择学习计算机这门专业,第一周我就 ...

  3. php mongodb扩展 其他扩展也类似

    MongoDBPHP 扩展 本教程将向大家介绍如何在Linux.window.Mac平台上安装MongoDB扩展. Linux上安装 MongoDB PHP扩展 在终端上安装 你可以在linux中执行 ...

  4. Android api level对照表

    转自:blog.csdn.net/lihenair/article/details/49869299 Platform Version API Level VERSION_CODE Notes And ...

  5. 通过设置窗体的AcceptButton属性,可以设置窗体的“接受”按钮,若此设计,则用户每次按下Enter键都相当于单击该按钮

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  6. 【转】Jsp自定义标签详解

    一.前言 原本是打算研究EXtremeComponents这个jsp标签插件,因为这个是自定义的标签,且自身对jsp的自定义标签并不是非常熟悉,所以就打算继续进行扫盲,开始学习并且整理Jsp自定义标签 ...

  7. tomcat执行shutdown.sh进程残留的解决办法

    我们执行shutdown.sh指令的时候有时会发现进程并没有被关掉而是越来越多,这种情况一般是项目造成的,具体原因未去调查.由于tomcat自己有相应的保护机制,所以我们只需要强制结束其进程即可,下面 ...

  8. [C/C++] C++类对象创建问题

    CSomething a();// 没有创建对象,这里不是使用默认构造函数,而是定义了一个函数,在C++ Primer393页中有说明. CSomething b(2);//使用一个参数的构造函数,创 ...

  9. 第50天:scrollTo小火箭返回顶部

    scrollTo(x,y)//可把内容滚动到指定的坐标scrollTo(xpos,ypos)//x,y值必需 1.固定导航栏 <!DOCTYPE html> <html lang=& ...

  10. BZOJ 1509 逃学的小孩(树的直径)

    题意:从树上任找三点u,v,w.使得dis(u,v)+min(dis(u,w),dis(v,w))最大. 有一个结论u,v必是树上直径的两端点. 剩下的枚举w就行了. 具体不会证... # inclu ...