Skip to content

Instantly share code, notes, and snippets.

@justinc1
Created November 7, 2014 10:35
Show Gist options
  • Save justinc1/eeceed1c615868fc646a to your computer and use it in GitHub Desktop.
Save justinc1/eeceed1c615868fc646a to your computer and use it in GitHub Desktop.
prestej zimbra cos userje
#!/bin/bash
# izpisi vse COS-e,
# izpisi cos, domeno, za vse userje
# $1 je 'name uuid cifrs', id==uuid
# imenam se ponavljajo
function cos_id_to_ind() {
ii=1
for cos_id in ${COS_ID[@]}
do
cos_name="${COS_NAME[@]}"
if [[ `echo "$1" | grep "$cos_id"` ]]
then
echo "$ii"
return
fi
ii=$((ii+1))
done
}
COS_NAMES_tt=`zmprov gac`
ii=1
while read -r cos
do
COS_NAME[$ii]="$cos"
attr=`zmprov gc "$cos"`
COS_ATTR[$ii]="$attr"
COS_ID[$ii]=`echo "$attr" | grep '^zimbraId:' | awk '{print $2}'`
echo "TEST cos id name: ${COS_ID[ii]} $cos"
COS_ALL_USERS[$ii]=0
ii=$((ii + 1))
done <<< "$COS_NAMES_tt"
echo "TEST ind=2 id=${COS_ID[2]} name=`cos_id_to_ind '97792566-f0c8-4c14-bf62-2e4ed7441048'`"
# getAllAccounts
DOMAIN_NAMES=`zmprov getAllDomains`
for domain in $DOMAIN_NAMES
do
acc_count=`zmprov countAccount $domain | grep -v -e '^cos name *cos id *' -e '^-* -* -*$'`
echo "Domain: $domain"
echo "$acc_count"
while read -r acc_count_line
do
user_count=`echo "$acc_count_line" | awk '{ print $NF }'`
cos_id=`echo "$acc_count_line" | awk '{ print $(NF-1) }'`
cos_ind=`cos_id_to_ind $cos_id`
echo "TEST cos_id=$cos_id cos_ind=$cos_ind user_count=$user_count"
COS_ALL_USERS[$cos_ind]=$(( COS_ALL_USERS[$cos_ind] + $user_count ))
done <<< "$acc_count"
done
echo -e '\n\n\n'
ii=1
while read -r cos
do
echo "${COS_ALL_USERS[ii]} ${COS_ID[ii]} ${COS_NAME[ii]} "
ii=$(($ii + 1))
done <<< "$COS_NAMES_tt"
##
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment