Wiki

Outils pour utilisateurs

Outils du site


database_backup_and_restore

Ceci est une ancienne révision du document !


Sauvegarde et restauration de la base de données

ceci est une traduction de la documentation officielle Database Backup and Restore disponible sur lesite de mythtv.org

Script pour sauvegarder et restaurer la base de données

MythTV 0.22 ajoute une nouvelle approche pour effectuer les sauvegardes et les restaurations sous forme de script. Ces scripts sont totalement intégrés dans les sources des distributions, mais ils pourront être remplacés ou modifiés par les « packageurs » pour les rendre plus conforme aux usages de leur distribution. Le présent document concerne l'utilisation des scripts originaux distribués avec les sources de MythTV. Bien que ces scripts ne sont inclus que dans les versions supérieures à 0.21, ils ont été écrit pour être compatible avec toutes les versions de MythTV. Pour les versions qui ne contiennent pas les scripts, ils sont téléchargeable à partir des sources (backup etrestore restore). Après les avoir téléchargés, sauvegardez-les dans un endroit facile à trouver et rendez-les exécutable:

  chmod a+x mythconverg_backup.pl mythconverg_restore.pl

En sauvegardant les scripts dans le répertoire de l'utilisateur courant, vous pourrez les exécuter sans préciser tout le chemin d'accès. Voir l'aide détaillée en utilisant l'argument –help.

Démarrage rapide

Chaque script requière plusieurs informations qui sont contenues dans les fichiers de configuration de MythTV (~/.mythtv/config.xml or the MythTV mysql.txt file(s)). Cependant vous devrez spécifié le répertoire de stockage des sauvegardes avec l'argument –directory. Puisqu'il est raisonnable de penser que ce répertoire est toujours le même, vous pouvez le mettre dans le fichier de configuration suivant (~/.mythtv/backuprc). Par exemple vous pouvez décider de mettre vos fichiers de sauvegarde dans /home/mythtv avec la commande suivante:

  echo "DBBackupDirectory=/home/mythtv" > ~/.mythtv/backuprc

A partir de là, vous pouvez facilement créé une sauvegarde en tapant dans une console:

  ./mythconverg_backup.pl

(dans la mesure,ou votre script se trouve dans le répertoire de l'utilisateur courant ). Si vous souhaitez voir ce qui se passe,vos pouvez utiliser l'argument –verbose comme ceci:

  ./mythconverg_backup.pl --verbose

Note toutes les options de commandes sont disponibles sont accessibles en utilisant l'argument –help. Sauvegarde automatique de votre base Une fois que vous aurez vérifié que votre script fonctionne correctement, vous allez pouvoir automatiser vos sauvegardes en configurant la planification de ce script (tache cron). Pour minimiser les chances de perte de base de données, vous devez choisir une période d'exécution pendant laquelle aucun enregistrement n'est programmé. Vous pouvez également choisir de lancer le script à chaque démarrage ou arrêt du serveur (mythbackend) (à insérer dans le « init script »). Dans ce cas, il est à noter que l'exécution du script dépend du script démarrage et non de Mythconverg.pl. Si vous avez un système avec plusieurs mythtvfrontend et/ou plusieurs mythtvbackup, le script devra être lancé uniquement sur le master backend.

Sauvegarde de la base de données

Le script mythconverg.pl crée une sauvegarde, la compresse en utilisant les algorithmes de compression gzip et incrémente la sauvegarde (garde les 5 dernières sauvegardes)

Sauvegarde incrémentale sur 10 jours de la base

./mythconverg_backup.pl --rotate 10

Sauvegarde avec compression bzip2 de la base

Attention, la compression des fichiers MySQL avec l'option bzip2, utilise beaucoup plus de ressources système qu'avec l'option gzip (cela prend environ 7 minutes au lieu de 19 seconds sur un AthlonXP 2400+ pour un fichier de 200 Mb avant compression) mais la taille du fichier de sauvegarde est plus réduite: 33% environ (20 Mb contre 30 Mb après compression). Toutefois il faut être extrèment prudent avec l'emploi de bzip pour qu'il n'interfère pas avec les périodes d'enregistrement, d'autant que le gain de place est équivalent à environ 1 minute d'enregistrement en MPEG2 qualité standard.

./mythconverg_backup.pl --compress bzip2

Sauvegarde avec mysqldump hors du répertoire utilisateur standard

Il est possible de préciser la localisation de l'exécutable mysqldump, mais il est peut-être plus facile de créer un répertoire qui contient mysqldump dans le répertoire de l'utilisateur standard ou de placer un lien vers mysqldump dans celui-ci.

./mythconverg_backup.pl --mysqldump /path/to/mysqldump

Sauvegarde des données xmltvid (avant de faire un scan complet des fréquences)

Plutôt que de faire une sauvegarde complète de la base de données, le script de sauvegarde peut créer une sauvegarde uniquement des données xmltvid. La sauvegarde contient un certain nombre de d'information sur l'état des mises à jour qui permet de restaurer au même état les données xmltvid avant et après un scan des fréquences. Il est à noter que le fichier de sauvegarde contient des informations complémentaires sur les chaînes qui permettront de les identifier si les « callsign » changent

./mythconverg_backup.pl --backup_xmltvids

Restauration de la base de données

Le script mythconverg_restore.pl peut restaurer la base de données MythTV (avec le fichier créé avec le script mythconverg_backup.pl). Si le fichier de sauvegarde n'est pas précisé, le plus récent est automatiquement sélectionné pour effectuer la restauration (la date et heure de sauvegarde sont retenues et non la version du la structure de la base).Le script détermine automatiquement si il est besoin de décompresser le fichier de sauvegarde

Restauration compléte de la plus récente sauvegarde

Le script détermine la plus récente sauvegarde en se basant sur la date et l'heure des fichiers et ignore les informations sur la structure de la base de données.

mysql -u root
drop database mythconverg;     # effacer la base de données
create database mythconverg;   # recréer la base de données
exit;

mythconverg_restore.pl         # restaurer la base de données

NOTA: Le script n'écrase pas une base existante. Il est nécessaire d'effacer préalablement la base de données avant de la restaurer.

Restauration complète d'une sauvegarde spécifique

Changez l'option « filename » avec le fichier de restauration à utiliser:

mythconverg_restore.pl –filename mythconverg-1214-20080626150513.sql.gz

Note: il n'est pas nécessaire de préciser le répertoire de stockage des sauvegardes. Si le fichier n'est pas trouvé dans le répertoire de stockage contenu dans le fichier de configuration (~/.mythtv/backuprc), spécifiez l'emplacement avec l'argument –directory.

mythconverg_restore.pl –directory /home/mythtv –filename mythconverg-1214-20080626150513.sql.gz

Restauration partiel d'une sauvegarde

Une restauration partielle restaure uniquement les données concernant les enregistrements existants et les enregistrements à venir. Ce type de restauration est généralement utilisé lorsque l'on installe MythTV sur une nouvelle machine. Dans ce cas, il est préférable de démarrer avec la nouvelle configuration hardware plutôt que de restaurer l'ancienne configuration et de l'adapter à la nouvelle configuration. Après restauration de la base de données, vous serez obligé de configurer MythTV et tous les plugins que vous souhaitez utilisés.

mythconverg_restore.pl –partial_restore

Si vous souhaitez faire une restauration partielle sur un nouveau matériel avec une nouvelle version de MythTV, vous devez d'abord faire une restauration totale de la base de données, puis lancez et arrêtez mythtv-setup (pour mettre à jour la base de données et sa structure) ensuite vous créez une sauvegarde, vous supprimez la base de données et vous faites une restauration partielle avec la sauvegarde de la base mise à jour.

Restauration partiel avec les données des plugins

Une restauration partielle comme expliqué si dessus ne restaure que les enregistrements effectués et à venir. Avec l'argument –with_plugin_data, vous pouvez restaurer les données des plugins en même temps que les enregistrements. Vous serez quand même obligé de reconfigurer Mythtv et les plugins que vous souhaitez utilisés

 mythconverg_restore.pl --partial_restore --with_plugin_data

Change le « hostname » du frontend ou backend

Note: le changement de « hostname » modifie la base existante mais ne la restaure pas. Bien sûr, pour changer le « hostname », il faut que la base existe (restaurer une ancienne base si nécessaire) et exécutez la commande suivante en remplaçant XXXX et YYYY avec les valeurs de l'ancien et du nouveau « hostname »:

mythconverg_restore.pl --change_hostname --old_hostname="XXXX" --new_hostname="YYYY"

Restauration des données xmltvid aprés un scan des fréquences TV

Pour restaurer des données xmltvid, utilisez la sauvegarde créée avec la commande mythconverg_backup.pl –backup_xmltvids et exécutez

mythconverg_restore.pl –restore_xmltvids Pour spécifiez le fichier de sauvegarde à utiliser:

mythconverg_restore.pl --restore_xmltvids --filename mythtv_xmltvid_backup-20080626211808.sql

Traduit par gilles74 le 18 sept 2008

database_backup_and_restore.1319958719.txt.gz · Dernière modification: 30/10/2011 par gilles74