|
现在我们来看看怎么样批量添加用户。
1.在这里我参考了archerhu 的添加方式!通过修改/var/www/extsuite/extman/tools/userctl2.pl 文件
修改的方法
131行加上:
my $name = $_[4];
注释原139行的:
#my $name = defined $opt{name} ? $opt{name} : $user;
原来第268行改为:
$rv = adduser $info[0],$info[1],$info[2],$info[3],$info[4];
用户信息文件格式(email地址、密码、邮箱配额、netdisk配额、名字):
test1@mydomain.com 123123 100 20 测试用户1
test2@mydomain.com 123123 100 20 测试用户2
用户信息文件保存的时候记得保存为utf8格式 ,保存一个adduser.txt 文档拷贝到/var/www/extsuite/extman/tools/下
这是我修改的脚本-参考一下(注意加粗行)
- 126 sub adduser {
- 127 my $email = $_[0];
- 128 my $password = $_[1];
- 129 my $quota = $_[2]; # MB
- 130 my $netdiskquota = $_[3]; # MB
- <b> 131 my $name = $_[4];</b>
- 132 my ($user,$domain) = split(/@/,$email);
- 133 my $uid = $c->{SYS_DEFAULT_UID};
- 134 my $gid = $c->{SYS_DEFAULT_GID};
- 135
- 136 my $createdate = strftime("%Y-%m-%d %H:%M:%S", localtime);
- 137 my $expiredate = '0000-00-00'; # default to unlimited/auto
- 138 my $question = defined $opt{question} ? $opt{question} : "";
- 139 my $answer = defined $opt{answer} ? $opt{answer} : "";
- <b> 140 #my $name = defined $opt{name} ? $opt{name} : $user; </b>
- 268 $rv = adduser $info[0],$info[1],$info[2],<b>$info[3],$info[4];</b>
复制代码
然后命令格式如下:不要忘记给脚本执行权限
cd /var/www/extsuite/extman/tools/
#perl ./userctl2.pl --mod=badd --file./addusertest.txt --setuid=1000 --setgid=1000
我添加了300多用户,全部添加成功!
从原来的数据库里导出一个域下的所有用户的方法:
select username,password,quota,netdiskquota,name from mailbox where username like "%@man.com" order by username into outfile 'man.txt';
select count(*) from mailbox ;
select * from mailbox where username like "%man.com%";
DELETE FROM mailbox where username like "%man.com%";
导出的文件先要确认一下文件的字符集,VI进入后输入:set fileencoding 会显示当前字符编码,然后 :set fileencoding=utf-8 保存即可。
其次要修改man.txt文件里第二列的密码为明文密码。
最后将man.txt文件里每列之前的分隔符删除掉,换成一个空格即可。
还要记得文件里邮件空间和网盘空间是按M为单位的,所以一般都是100 10即可。
以下是一个页面帮助地址:
http://www.extmail.org/forum/viewthread.php?tid=10027&highlight=批量 |
|