Modifications entre les versions 7 et 8
Version 7 à la date du 2009-06-29 15:57:07
Taille: 1601
Commentaire: suppression
Version 8 à la date du 2009-11-20 13:04:35
Taille: 2874
Commentaire:
Texte supprimé. Texte ajouté.
Ligne 60: Ligne 60:


== Script de migration contact Horde vers Roundcube ==

 # on extrait de la base horde, la table turba_objects > listecontacts

 # on modifie le fichier pour qu'il ressemble à login#Nom du contact#mail

{{{

fballa#ndimby#ndimby@refer.sn

}}}

 # On extrait aussi les id_contacts de la table horde_users > listecontact_id

{{{
fballa;206
}}}
 
 # Enfin le petit script qui fait la moulinette
{{{

#!/usr/bin/python

import os, sys, MySQLdb

connexion = MySQLdb.connect('localhost', 'root', 'passMysql', 'roundcube')

fichier_contacts = open('/root/listecontacts','r')

curseur = connexion.cursor()

for ligne in fichier_contacts:
   username = ligne.split('#')[0]
   contact = ligne.split('#')[1]
   email = ligne.split('#')[2]
   command = """grep -i "%s;" listecontact_id | cut -d ";" -f2 > /tmp/resultat""" % (username)
   os.system(command)
   resultat = open('/tmp/resultat','r')
   user_id = resultat.readline().splitlines()[0]
   resultat.close()
   requete = """ insert into contacts (name, email, user_id) values ("%s", "%s", "%s" ) """ % (contact, email, user_id)
   print requete
   curseur.execute(requete)
   connexion.commit()
   curseur.close()
   connexion.close()
   fichier_contacts.close()

}}}

Scripts de J. qui marchent

  1. Lister les machines

/usr/local/bin/ls-machines

 #!/bin/bash

for SALLE in $@ ; do
    fping -c 1  -g 192.168.$SALLE.min 192.168.$SALLE.max 2>/dev/null  |awk '{print "root@" $1}'
done
  1. Mise à jour salle

  nfs# ls-machine > masalle
  nfs# dsh -f masalle -M -w 'aptitude -q -y update && aptitude -q -y full-upgrade'
  • {i} éviter le -q qui risque de te cacher ce qui se passe... on sait jamais... -- ThomasNoël 2009-05-18 16:52:46

  • {i} faire d'abord la m-à-j d'une machine "à la main", sans le -y, pour voir si le -y ne pose pas de problème -- ThomasNoël 2009-05-18 16:52:46

  1. Fixé les adresses ip sur le serveurs - Recupérer les adresses mac et etiquetté les machines - Copier l'output dans dhcpd.conf
    • m=101
      for i in $(cat cdr.macs)
      do
         echo "host cdr-$m { hardware ethernet $i; fixed-address cdr-$m.cnfd.; }"    # on met le nom de la machine, pas son IP
         m=$((m+1))
      done
  2. Ajouter 28 utilisateurs avec auf-django-users
    from aufusers import User
    for i in range(28):
        User(username="formation%s" % i, password="essayetjrs").save()
  3. Suppression
    for u in range(28):
       ....:     try:
       ....:         User.objects.get(username="formation%d" % u).delete()
       ....:         
       ....:     except:
       ....:         pass
  4. Vérification
    from aufusers import User
    for u in User.objects.filter(username__startswith="formation"):
        print "%s expire le %s" % (u.username, u.expire)

Script de migration contact Horde vers Roundcube

  • # on extrait de la base horde, la table turba_objects > listecontacts # on modifie le fichier pour qu'il ressemble à login#Nom du contact#mail

fballa#ndimby#ndimby@refer.sn
  • # On extrait aussi les id_contacts de la table horde_users > listecontact_id

fballa;206
  • # Enfin le petit script qui fait la moulinette

import os, sys, MySQLdb

connexion = MySQLdb.connect('localhost', 'root', 'passMysql', 'roundcube')

fichier_contacts =  open('/root/listecontacts','r')

curseur = connexion.cursor()

for ligne in fichier_contacts:
   username = ligne.split('#')[0]
   contact = ligne.split('#')[1]
   email = ligne.split('#')[2]
   command = """grep -i "%s;" listecontact_id | cut -d ";" -f2 > /tmp/resultat""" % (username)
   os.system(command)
   resultat = open('/tmp/resultat','r')
   user_id =  resultat.readline().splitlines()[0]
   resultat.close()
   requete = """ insert into contacts (name, email, user_id) values ("%s", "%s", "%s" ) """ % (contact, email, user_id)
   print requete
   curseur.execute(requete)
   connexion.commit()   
   curseur.close()
   connexion.close()
   fichier_contacts.close()

NdimbyAndriantsoavina/NotesPerso/Scripts (dernière édition le 2011-06-01 12:22:33 par NdimbyAndriantsoavina)