Cela faisait longtemps une éternité que je n’avais pas écrit un billet.
Je profite d’avoir enfin un peu de temps pour le faire.
J’était tombé sur l’article de Jorge permettant de créer des comptes de démonstration sur Zimbra en utilisant un script.
Hormis le fait que Zimbra propose déjà cette option par défaut :
zmprov createBulkAccounts(cabulk) {domain} {namemask} {number of accounts to create}
le fait de passer par un fichier intermédiaire et de devoir modifier le script pour l’adapter rend la solution, a mon sens, pénible.
Vous aller me dire, que la commande fourni par Zimbra fait le job, oui mais celle-ci doit être exécuté depuis le serveur Zimbra.
Pour pallier a ça j’ai crée un script permettant d’effectuer la même manipulation, mais depuis n’importe quel ordinateur ayant curl d’installé et surtout en utilisant SOAP, donc pas besoin de charger des variables d’environnement de l’utilisateur Zimbra..
Du coup en terme de performance ça donne ça :
Zimbra command (exécuté depuis le serveur Zimbra)
time zmprov createBulkAccounts domain.tld test 50 3c832f41-8f94-4b2f-b989-7ef40156f2f4 ... 20a09f7a-172c-4ac0-9df0-f568444ecfe4 51ff0d62-54d0-4bcd-8cd1-22db50bbbe41 real 0m6.256s user 0m5.296s sys 0m0.126s
Jorge script (exécuté depuis le serveur Zimbra)
time zmprov -f /tmp/userlist.zmp prov> b83aef83-98e2-470f-957e-7e144bc9c4da ... prov> a93cb901-ce8a-4351-8a53-b39772797068 prov> real 0m6.259s user 0m5.529s sys 0m0.188s
Soap Script (exécuté depuis le serveur Zimbra)
time zimbra_soap_demo_account.sh -a zimbra_admin -s zimbra_url -u test -d domain.tld -c 50
Enter Zimbra Admin Password
Creating Account test0@domain.tld
Creating Account test1@domain.tld
...
Creating Account test49@domain.tld
real 0m4.804s
user 0m0.492s
sys 0m0.090s
\o/ 2 secondes de gagné sur 50 comptes
Le gros avantage c’est que c’est transportable et vous pouvez créer vos comptes depuis n’importe où 🙂
Un exemple depuis mon poste via une ligne adsl qui mériterai d’être upgradé (4 Mb/s) :
time zimbra_soap_demo_account.sh -a zimbra_admin -s zimbra_url-u test -d domain.tld -c 50
Enter Zimbra Admin Password
Creating Account test0@domain.tld
Creating Account test1@domain.tld
...
Creating Account test49@domain.tld
real 21.799
user 1.43s
system 0.75s
Il faut prendre en compte aussi le temps de taper son mot de passe 😉
Vous trouverez le script sur mon github.