-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathalias_masivo.sh
executable file
·112 lines (94 loc) · 2.42 KB
/
alias_masivo.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#!/bin/bash
#
# Generacion masiva de alias en un dominio
# uso:
# alias_masivo.sh <dominio principal> <dominio alias>
#
# workflouw:
# Existe dominio principal
# si: continuamos
# no: Error y salimos
#
# Existe dominio alias
# si: continuamos
# no: Error y salimos
#
# Existe <uid>@<domino alias> ?
# si: Break
# no: Crear
#
# Aclaraciones
# zmprov getAccount <uid>@<dominio> trata igual a las "cuentas" y a los "alias"
#
# Funciones
#
function usage(){
cat << __EOF__
Uso:
alias_masivo.sh <dominio principal> <dominio alias>
Comentarios:
dominio principal: Este es el dominio de las cuentas de correo
dominio alias: Este es el dominio del que se crearan los alias en las cuentas del dominio principal
__EOF__
}
function exist_domain(){
local DOMAIN=${1}
zmprov getDomain ${DOMAIN} 2>&- >&-
return $?
}
function exist_account(){
local ACCOUNT=${1}
zmprov getAccount ${ACCOUNT} 2>&- >&-
return $?
}
#
# __main__
#
if (( $# < 2 ));then
echo -e "\033[01;31mError:\033[00m Faltan parametros"
usage
exit 1
fi
LOG=/opt/zimbra/scripts/logs/log_${0%%*.}.log
DOMAIN=${1}
ALIAS_DOMAIN=${2}
echo "[$(date +%D\ %X)] ---- INICIO $0 ----" >> ${LOG}
if exist_domain ${DOMAIN} && exist_domain ${ALIAS_DOMAIN};then
echo "[$(date +%D\ %X)] Existen los dominios ${DOMAIN} y ${ALIAS_DOMAIN}" >> ${LOG}
for ACCOUNT in $(zmprov --ldap getAllAccounts ${DOMAIN});do
ALIAS=${ACCOUNT%%@*}@${ALIAS_DOMAIN}
echo -e "\tcomprobando alias \033[01;34m${ALIAS}\033[00m de \033[01;32m${ACCOUNT}\033[00m"
if exist_account ${ALIAS};then
echo -e "\t\t${ALIAS} \033[01;32mExiste\033[00m"
echo "${ALIAS} Existe" >> ${LOG}
else
echo -e "\t\t${ALIAS} \033[01;31mNo existe\033[00m, lo creamos"
zmprov addAccountAlias ${ACCOUNT} ${ALIAS}
echo "${ALIAS} No existe, creado" >> ${LOG}
fi
done
else
echo "[$(date +%D\ %X)] NO existen los dominios ${DOMAIN} y ${ALIAS_DOMAIN}" >> ${LOG}
echo -e "\033[01;31mError:\033[00m Alguno de los dominios no existe"
usage
exit 2
fi
echo "[$(date +%D\ %X)] ---- FIN $0 ----" >> ${LOG}
#exist_account [email protected] && echo HOLA || echo KK
#
#
#exist_account [email protected] && echo HOLA || echo KK
#
#if $(exist_account [email protected])
#then
# echo "account exist, nothing to do"
#else
# echo "account don't exist, creating alias"
#fi
#
#if $(exist_account [email protected])
#then
# echo "account exist, nothing to do"
#else
# echo "account don't exist, creating alias"
#fi