用shell写了一个向mysql批量添加用户的脚本

上一篇 / 下一篇  2014-06-16 17:56:14 / 个人分类:脚本语言

安装了opensips,但是添加用户的时候出现了问题:不知道如何批量添加用户。然后看了opensips的官方文档,也没找到办法,后来想到它的数据库对应的表,向表里添加数据不就行了?可即时直接添加数据库一条一条的添加也很麻烦。我这个菜鸟不知道怎么搞了。最后群里有朋友提醒可以用shell写个脚本。可是俺从没用过啊,线上网上搜一下吧。没想到写这个的挺多,开来是常用的简单脚本啊。

然后copy了一个过去,改了下:

#!/bin/bash

i=1;
MAX_INSERT_ROW_COUNT=$1;
while [ $i -le $MAX_INSERT_ROW_COUNT ]
do
    mysql -u root -p root opensips -e "insert into subscriber(username,password) values ($i,$i);"
    d=$(date +%M-%d\ %H\:%m\:%S)
    echo "INSERT HELLO $i @@ $d"   
    i=$(($i+1))
    sleep 0.05
done

exit 0

可是执行脚本没反应。原来是我改的mysql登陆相关的脚本格式不对,修改之后,查了查用sh -x .*.sh可以看脚本每一步执行的情况。结果这个脚本是添加从1到输入数据之间所有号码。觉得这样不太好,因为运行脚本时不知道是从1开始的,万一输入过大的数,就会添加很多数据。

所以我又试着改了改,设置成两个输入的参数,这样运行时输入sh 文件名.sh  起始号码,结束号码,就可以添加10为前缀的号码了:


#!/bin/bash
i=$1;
MAX_INSERT_ROW_COUNT=$2;
while [ $i -le $MAX_INSERT_ROW_COUNT ]
do
    mysql -uopensips -popensipsrw opensips -e "insert into subscriber(username,password) values ('10$i',10$i);"
    d=$(date +%M-%d\ %H\:%m\:%S)
    echo "INSERT username 10$i on  $d"   
    i=$((i+1))
    sleep 0.05
done
exit 0

 


 


TAG: MySQL mysql opensips shell Shell

 

评分:0

我来说两句

Open Toolbar