zimbra邮件系统批量导入账户信息,包括显示名,公司名称,姓,手机号码等

       在网上找了好多批量导入账号的教程,发现只能进行简单的批量导入,只能导入账号和密码而已,并不能进行其他用户信息的导入,当添加的用户很多时,那就是一个很麻烦的事情了,在zimbra的一些中文论坛也没有找到合适的资料,我估计一些比我们更了解更厉害的大师们不愿意把自己更好的资源分享出来,所以我就自己动手动脑的整出来了,下面直接分享shell脚本。
       由于本人能力有限,脚本绝对不是编的最好的,所以希望更厉害的人能把脚本优化下。

创建一个sh文件,脚本名称可以随意命名为***.sh,代码如下:
第一种(最优选择)
#!/bin/bash
DOMAIN=DOMIAN.com
PASSWD=123456.
ZMPROV=/opt/zimbra/bin/zmprov
while read user dis xing
do
        $ZMPROV ca $user@$DOMAIN $PASSWD displayName $dis sn $xing
done < name1.txt
或者
<span style="font-size:14px;"><span style="font-size:14px;">#!/bin/bash
cat name1.txt | awk '{print $1"@DOMAIN.com","123456","displayName",$2}' >>/opt/test.txt
ZMPROV=/opt/zimbra/bin/zmprov
while read line
do
$ZMPROV ca $line
done < test.txt</span></span>

或者

<span style="font-size:14px;"><span style="font-size:14px;">#!/bin/bash
ZMPROV=/opt/zimbra/bin/zmprov
cat name1.txt | awk '{print $1"@juumoo.com","uni123456.","displayName",$2}' | while read line
do
$ZMPROV ca $line
done</span></span>

这三种方式都可以,需要说明下,给那些不太明白的人,
第一种中,name1.txt中的值为一行多列值,实例中我给出的是“账号,显示名,姓”三个参数,那么while read为
user dis xing
三个值;

第二种和第三种方法中:
<span style="font-size:14px;"><span style="font-size:14px;">cat name1.txt | awk '{print $1"@juumoo.com","uni123456.","displayName",$2}'</span></span>
上面这段代码其实就是对你给出来的带有相关用户信息的txt文件进行重新编辑,加入域名,密码,displayname等相关参数,这个熟练的人也可以自己重新把编辑好的txt文件直接替换掉“
<span style="font-size:14px;"><span style="font-size:14px;">name1.txt | awk '{print $1"@juumoo.com","uni123456.","displayName",$2}'</span></span>
”这段代码,替换后的代码格式可以参考下面的说明。

最后说明下,txt中的参数,需要第一行和最后一行留空,测试了很多遍,因为第一行跟最后一行的值写不进去,提示错误,也不知道为什么。


shell:读取文件的每一行内容并输出  


写法一:
----------------------------------------------------------------------------
#!/bin/bash

while read line
do
    echo $line
done < file(待读取的文件)
----------------------------------------------------------------------------

写法二:
----------------------------------------------------------------------------
#!/bin/bash

cat file(待读取的文件) | while read line
do
    echo $line
done
----------------------------------------------------------------------------

写法三:
----------------------------------------------------------------------------
for line in `cat file(待读取的文件)`
do
    echo $line
done
----------------------------------------------------------------------------

说明:
for逐行读和while逐行读是有区别的,如:
$ cat file
aaaa
bbbb
cccc dddd

$ cat file | while read line; do echo $line; done
aaaa
bbbb
cccc dddd

$ for line in $(<file); do echo $line; done
aaaa
bbbb
cccc
dddd

== 实践 === 
#! bin/sh

#$str='http://images.stylight.de/static/res200/s2870/2870657.1.jpg%0D'
#echo ${str##*fo}
#echo ${str#fo}
while read line
do
   wget -p ${line:0:59}
done < '/root/mysql/mysql.log';
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

rhsy445566

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值