安装了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