发布几个小工具
[size=4][b]所有脚本需要解压缩到.../extman/tools/目录下才能被正确执行。[/b][/size]1,userinfo.pl
版本:1.0
显示用户相关信息,自动识别user,alias类型。
示例:
chifeng# ./userinfo.pl [email]chifeng@extmail.org[/email]
[email]chifeng@extmail.org[/email]
------------------------------------------
Type: User
Email: [email]chifeng@extmail.org[/email]
CommonName: chifeng
Active: 1
Quota: 1048576000S
NetdiskQuota: 31457280S
Maildir: /home/domains/extmail.org/chifeng/Maildir/
Homedir: /home/domains/extmail.org/chifeng
Routing:
CreateDate: 2007-02-14 15:10:04
ExpireDate: 2200-10-11 15:10:04
2,adduser.pl
版本:1.0
增加一个用户,非批量添加,不过可以写个shell来调用这个脚本做到批量添加。
示例:
chifeng# ./adduser.pl
Usage: ./adduser.pl [email]username@domain.tld[/email]
--password ******
--quota 100
chifeng# ./adduser.pl [email]test2@extmail.org[/email] --password 123456 --quota 100
User: [email]test2@extmail.org[/email]
Password: 123456
Status: add success!
3,deluser.pl
版本:1.0
删除一个用户,非批量删除。一次删除一个用户。
示例:
chifeng# ./deluser.pl [email]test@extmail.org[/email]
[email]test@extmail.org[/email] User Deleted!
4,modifyuser.pl
版本:1.0
修改一个用户的相关信息。
说明:如果同时写了--enable和--disable,并且内容重复,则以disable优先。
示例:
chifeng# ./modifyuser.pl
Usage: ./modifyuser.pl [email]username@domain.tld[/email]
--password ******
--quota 100 [Unit: MB]
--ndquota 100 [Unit: MB]
--active 1|0
--expiredate "2008-08-18"
--enable smtp,smtpd,pop3,imap,webmail,netdisk,pwdchange
--disable smtp,smtpd,pop3,imap,webmail,netdisk,pwdchange
欢迎使用,任何问题请联系我。
[[i] 本帖最后由 chifeng 于 2007-8-15 09:24 编辑 [/i]] 顶,支持chi老大! 支持一下 , 这对于熟悉系统的用户来说比 web 好用多了 :D 额。。。确实好用
[[i] 本帖最后由 michelle 于 2007-8-15 14:55 编辑 [/i]] chifeng老大酝酿已久的工具了,迟1周wangpenghui老大也将发布自动封ip的小工具,希望能凑成一个工具组合,给做sysadmin的哥们提供便利,大家多支持~:lol 在学习呀!非常的关注!:) 严重关注,方便的东西哪!! bsd下的导入到emos里如何导入!! [quote]原帖由 [i]crastyl[/i] 于 2007-9-19 10:37 发表 [url=http://www.extmail.org/forum/redirect.php?goto=findpost&pid=33489&ptid=5688][img]http://www.extmail.org/forum/images/common/back.gif[/img][/url]
bsd下的导入到emos里如何导入!! [/quote]
直接mysqldump就可以。
数据的话,tar过来,或者rsync :lol 看了 modifyuser.pl 的代码,感觉通过这样去访问extman 比较有API 的口味,以后多向chifeng 老大学习。
程序结构看起来没有我的简洁。
[url]http://www.yiyou.org/46reset_extman_mysql_passwd.html[/url]
[[i] 本帖最后由 fengyong 于 2007-9-27 11:20 编辑 [/i]] :lol 我又来踩场了,希望chifeng 老大不要介意 adduser.pl 中,下面代码我找到简洁的写法,有空可以试试。
[code]
my ($disablepwdchange,$disablesmtpd,$disablesmtp,$disablewebmail,$disablenetdisk,$disableimap,$disablepop3) = (0,1,1,1,1,1,1);
my ($ssmtpd,$ssmtp,$swebmail,$snetdisk,$simap,$spop3) = ("smtpd","smtp","webmail","netdisk","imap","pop3");
my @sv = split(/,/,$services);
foreach my $ss (@sv) {
if($ssmtpd eq $ss) {
$disablesmtpd = 0;
}elsif($ssmtp eq $ss){
$disablesmtp = 0;
}elsif($swebmail eq $ss){
$disablewebmail = 0;
}elsif($snetdisk eq $ss){
$disablenetdisk = 0;
}elsif($simap eq $ss){
$disableimap = 0;
}elsif($spop3 eq $ss){
$disablepop3 = 0;
}
next;
}
[/code]
新代码参考,好像少了很多哟。。。。。
[code]
my %disable= (
pwdchange=>0,
smtpd=>1,
smtp=>1,
webmail=>1,
netdisk=>1,
imap=>1,
pop3=>1
);
my @services=("smtpd","smtp","webmail","netdisk","imap","pop3");
foreach (@services) {
if (exists $disable{$_}){
$disable{$_}=0;
}
}
[/code]
[[i] 本帖最后由 fengyong 于 2007-10-5 16:32 编辑 [/i]] [quote]原帖由 [i]fengyong[/i] 于 2007-9-27 13:14 发表 [url=http://www.extmail.org/forum/redirect.php?goto=findpost&pid=33767&ptid=5688][img]http://www.extmail.org/forum/images/common/back.gif[/img][/url]
:lol 我又来踩场了,希望chifeng 老大不要介意 adduser.pl 中,下面代码我找到改良的算法,有空可以试试。
my ($disablepwdchange,$disablesmtpd,$disablesmtp,$disablewebmail,$disablenetdisk,$disableimap,$disablepo ... [/quote]
赞......fengyong老大颇强...呵呵,学习.... 写法不一样而已,呵呵。
[code]
use Data::Dumper;
my %disable= (
pwdchange=>0,
smtpd=>1,
smtp=>1,
webmail=>1,
netdisk=>1,
imap=>1,
pop3=>1
);
my @services=("smtpd","smtp","webmail","netdisk","imap","pop3");
map { $disable{$_} = 0 } @services;
[/code] 欢迎fengyong, chifeng械斗 :lol 多踩场 超赞,本来我还写了个shell脚本来调用之前那个批量增加帐号的,呵呵。 你们太强了,向你们学习 这些脚本已经加入了extman的发行版中tools目录下, 并吸取了fengyong老大的建议. :) 顶一下,工具不错。 支持喔~~~:):lol 学习中…… 哈哈 我来了。好东西,抢 不是批量的,跟去数据库操作区别不大啊
:( 正好需要~拿走了,谢谢 支持老大,先学习一下 你们是牛人知道么 牛人 我怎么执行起来有错误?提示信息如下
# pwd
/var/www/extsuite/extman/tools
[root@mail tools]# ./userinfo.pl [email]mina@99im.net[/email]
Global symbol "$SYS_CFG" requires explicit package name at ./userinfo.pl line 23.
Global symbol "$SYS_CFG" requires explicit package name at ./userinfo.pl line 26.
Bareword "Ext::Config::import" not allowed while "strict subs" in use at ./userinfo.pl line 24.
Execution of ./userinfo.pl aborted due to compilation errors. 谢谢 chifeng分享的几个小工具,先登记下来。
页:
[1]