Koozali.org: home of the SME Server

sme 9 : configuration asterisk/freepbx

Offline ecureuil

  • *
  • 261
  • +0/-0
sme 9 : configuration asterisk/freepbx
« on: February 21, 2016, 05:37:44 PM »
bonjour,

J'ai un disque malade.
Il ne veut plus se monter.
Je l'ai mis en usb donc en externe.

Je suis en train de configurer un autre disque pour prendre la relève.

Je n'ai pas trop envie de refaire toute la config de asterisk.

trunk, extention,... est-il possible de les récupérer de l'ancien disque pour les mettre sur le nouveau?

Si oui, quel répertoire à récupérer?

mysql  de asterisk et freepbx se trouve dans /var/lib/mysql/
asterisk se trouve dans /var/spool/asterisk/ et /etc/asterisk/
freepbx se trouve dans /opt/freepbx/

version d'asterisk sur l'ancien dd Asterisk 1.8.31.1, sur le nouveau Asterisk 1.8.32.3
version freepbx sur les 2 c'est 2.11 mais les modules peuvent être différents.

Si quelqu'un connaît ce qu'il faut récupérer et comment?

suite
J'ai récupéré dans  /var/lib/mysql/,   les fichiers asteriskdb et freepbxdb que j'ai renommé  asteriskdb1 et freepbxdb1
Je les ai copié dans /var/lib/mysql/  du nouveau disque.
J'ai mis les droits qui vont bien.
Je les vois avec phpmyadmin

Maintenant il faut que je regarde si asteriskdb et asteriskdb1 ont les mêmes structures
idem pour freepbxdb

pour comparer les bases de données

# mysqldump --skip-comments --skip-extended-insert -d --no-data -u root -pmdp-root  asteriskcdrdb1 >  am_asteriskcdrdb1.sql
# mysqldump --skip-comments --skip-extended-insert -d --no-data -u root -pmdp-root  asteriskcdrdb >  am_asteriskcdrdb.sql

# mysqldump --skip-comments --skip-extended-insert -d --no-data -u root -pmdp-root  freepbxdb >  am_freepbxdb.sql           
# mysqldump --skip-comments --skip-extended-insert -d --no-data -u root -pmdp-root  freepbxdb1 >  am_freepbxdb1.sql

mdp-root = mot de passe root pour mysql qui se trouve dans /root/.my.cnf

# diff am_asteriskcdrdb.sql  am_asteriskcdrdb1.sql
# diff am_freepbxdb.sql am_freepbxdb1.sql
47c47
< ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
---
> ) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
=> announcement
710c710
< ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
---
> ) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
=>  freepbx_users
921c921
< ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
---
> ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
=>  logfile_logfiles
1041c1041
< ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
---
> ) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
=> outbound_routes
1215c1215
< ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
---
> ) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
=> recordings

J'ai 4 bases de données sur le serveur
asteriskcdrdb (origine)
asteriskcdrdb1 (celle copier du vieux disque dur)
freepbxdb (origine)
freepbxdb1 (celle copier du vieux disque dur)

sauvegarde des 2 bases de données asterisk
cp -rp asteriskcdrdb asteriskcdrd-orig
cp -rp asteriskcdrdb1 asteriskcdrd-old

sauvegarde des 2 bases de données freepbx
cp -rp freepbxdb freepbxdb-orig
cp -rp freepbxdb1 freepbxdb-old

Je remplace les 2 bases de données pour mettre celle du vieux disque dur
mv asteriskcdrdb asteriskcdrd-x
mv freepbxdb freepbxdb-x
mv asteriskcdrdb1 asteriskcdrd
mv freepbxdb1 freepbxdb

J'ai retrouvé un vieux message de dani
Les trucs à récupérer:
- le dump des bases asteriskcdrdb et freepbxdb (contient la conf et le journal des appels)
- /var/lib/asterisk (contient les données comme les sons custom, la base asterisk etc...)
- /var/spool/asterisk (contient les message vocaux et les personnalisation du/des répondeurs)
- /etc/asterisk (la conf modifiée manuellement si besoin)
- /var/log/asterisk (pas obligatoire, mais pas plus mal de récupérer les anciens journaux au cas où)

Le dump c'est fait

Maintenant voir les différences entre le /etc/asterisk de la nouvelle install et celle de l'année précédente
J'ai fait un petit script

J'ai mis les fichiers /etc/asterisk de l'année précédente dans le file de Primary : /home/e-smith/files/ibays/Primary/files/asterisk-201502/etc

Code: [Select]
#!/bin/bash

# repertoire recherche
repertdiff='/home/e-smith/files/ibays/Primary/files/asterisk-201502/rech-etc'
# repertoire old
repertold='/home/e-smith/files/ibays/Primary/files/asterisk-201502/etc'
listeold=( $(find $repertold  -type f) )
# repertoire new
listenew='/etc/asterisk'

nb_element=${#listeold[@]}

index=0

while [ "$index" -lt "$nb_element" ]
do   
  # Liste tous les elements du tableau : elements en cours
  echo 'fichier recherche en cours : ' ${listeold[$index]}

  # recherche du nom du fichier sans préfixe
  nomfich=${listeold[$index]#"$repertold"}
  echo 'base du fichier de recherche : '  $nomfich

  # nom fichier avec le repertoire asterisk
  fichnew="$listenew$nomfich"
  echo 'nom du fichier new : ' $fichnew

  # nom de fichier pour la recherche du diff
  fichrech="$repertdiff$nomfich" 
  echo 'nom du fichier du resultat du diff : ' $fichrech

  dirfich=$(dirname  $fichrech)
  echo 'creation repertoire : ' $dirfich
  mkdir -p $dirfich

  # diff
  diff ${listeold[$index]}  $fichnew > $fichrech

  echo '-----------'
  let "index = $index + 1"
  # ou index+=1 avec Bash 3.1 et suivants
done

  # nom de fichier pour la recherche du diff
  nomfich1='/rechseul'
  fichrech="$repertdiff$nomfich1"
  echo 'nom du fichier du resultat du diff : ' $fichrech
  echo $repertold ' --- ' $listenew
  diff $repertold  $listenew  | grep  'Seulement'> $fichrech

Dans /home/e-smith/files/ibays/Primary/files/asterisk-201502/rech-etc/ j'ai toutes les différences entre les fichiers version old et new

Pour /var/lib/asterisk (contient les données comme les sons custom, la base asterisk etc...) j'ai fait pareil en mettant les anciens dans  /home/e-smith/files/ibays/Primary/files/asterisk-201502/lib. J'ai fait un nouveau script et j'ai mis le résultat dans /home/e-smith/files/ibays/Primary/files/asterisk-201502/rech-lib.

Pour   /var/spool/asterisk (contient les message vocaux et les personnalisation du/des répondeurs) j'ai fait pareil en mettant les anciens dans  /home/e-smith/files/ibays/Primary/files/asterisk-201502/spool. J'ai fait un nouveau script et j'ai mis le résultat dans /home/e-smith/files/ibays/Primary/files/asterisk-201502/rech-spool.

Maintenant il faut que j'analyse les fichiers diff

ATTENTION mon script n'est pas bon. J'ai oublié l'analyse des sous-répertoires et des fichiers qui ont un lien avec un autre répertoire.

J'ai mis le nouveau script, cela devrait fonctionner

J'avais essayer de faire une analyse avec la commande
diff /home/e-smith/files/ibays/Primary/files/asterisk-201502/etc/ /etc/asterisk/ > /home/e-smith/files/ibays/Primary/files/asterisk-201502/rech-etc-1

Le fichier rech-etc-1 est gros et pas très facile à lire et analyser

suite plus tard

Merci
Anne
« Last Edit: February 27, 2016, 07:08:04 PM by ecureuil »