Script para o zimbra [RESOLVIDO]

1. Script para o zimbra [RESOLVIDO]

TACITO REGIS FERNANDES CHAVES
tacitoregis

(usa Ubuntu)

Enviado em 06/08/2013 - 08:43h

Senhores,

Boa noite!

Estou tentando criar um script que crie uma lista de distribuição no zimbra com uma planilha de 51 registros de usuários novos e antigos. Vou descrever o que eu tenho.
1 - Arquivo contendo os usuários novos (51 registro)
2 - Arquivo contendo os usuários antigos (51 registro)

1 - Devo criar 51 listas de distribuição o nome delas será cada linha do arquivo de users antigo.
2 - Devo inserir os 51 usuários novos nesta lista de distribuição. Vamos lá.

Arquivo com user novo:
bkp_romario@exemplo.com
bkp_ronaldo@exemplo.com
bkp_zidane@exemplo.com
bkp_messi@exemplo.com

Arquivo com usuer antigo:
romario@exemplo.com
ronaldo@exemplo.com
zidane@exemplo.com
messi@exemplo.com

Para criar a lista de distribuição, fiz este script:
for i in $(cat antigo_email); do
echo "zmprov cdl $i" > lista.distribuicao
done
Retornou
zmprov cdl romario@exemplo.com
zmprov cdl ronaldo@exemplo.com
zmprov cdl zidane@exemplo.com
zmprov cdl messi@exemplo.com

blz, até aí perfeito, deu td certinho conforme planejado. Só que após isto, eu preciso dizer que para cada usuário antigo, ele deve ser inserido à sua lista de distribuição, isto seria com este comando:
zmprov adlm listacriada usuário@exemplo.com
ficaria assim:
zmprov adlm lista.distribuicao user_antigo - onde lista.distribuição é o arquivo contendo as litas e user_antigo, é um outro arquivo contendo as contas antigas, cada um em uma linha.

Aí que foi o problema, tentei várias formas mas não consegui.

Tentei este aqui, mas o meu deu várias linhas:

array=( ${array[@]} `cat antigo_email`)
10 for i in $(cat listas_udi); do
11 for y in ${array[@]}; do
12 echo "zmprov adlm $i $y"
13 done
14 done

Na verdade eu até consegui, mas as linhas que era para dar 51 deu 7803 hehehehe. Não sei onde errei, se puderem me ajudar com esta. Ficaria bastante agradecido.

Ah, desculpa pelo erro num script que parece ser tão fácil, mas se puderem me dizer onde errei.

Obrigado pelo espaço.


  


2. Re: Script para o zimbra [RESOLVIDO]

Alexandre Gonçalves Monteiro da Silva
alexandregms

(usa Ubuntu)

Enviado em 07/08/2013 - 14:27h

tacitoregis escreveu:


array=( ${array[@]} `cat antigo_email`)
for i in $(cat listas_udi); do
for y in ${array[@]}; do
echo "zmprov adlm $i $y"
done
done




Passa um trecho do seu arquivo "antigo_email" e do "listas_udi", e poste a forma que você quer a saída.


3. Re: Script para o zimbra [RESOLVIDO]

TACITO REGIS FERNANDES CHAVES
tacitoregis

(usa Ubuntu)

Enviado em 07/08/2013 - 17:07h

Opa Alexandre, seguinte.. assim não deu. Porque os arquivos tem 51 linhas cada, então com este script:

array=( ${array[@]} `cat antigo_email`)
for i in $(cat listas_udi); do
for y in ${array[@]}; do
echo "zmprov adlm $i $y"
done
done

Depois de executado ele me mostrou várias linhas, olha só
./add.count.sh | wc -l
2601

Então o massa é que eu consegui resolver. Fiz o seguinte.

cat contas.txt |
while read CONTA; do
echo "zmprov adlm $CONTA bkp_$CONTA"
done

Obrigado pelo esforço.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts