Archivage et restauration

Archiver le contexte

L'archivage permet d'enregistrer toutes les données d'un contexte Anakeen Platform. Il permet d'avoir une sauvegarde que l'on peut restaurer.

Usage :

./control/anakeen-control archive --help
Description:
  Archive Anakeen Platform.

Usage:
  archive [options] [--] <file>

Arguments:
  file                  Output file (.zip file)

Options:
      --without-vault   No save vault
      --dry-run         Not launch job
  -h, --help            Display help for the given command. When no command is given display help for the list command
  -q, --quiet           Do not output any message
  -V, --version         Display this application version
      --ansi            Force ANSI output
      --no-ansi         Disable ANSI output
  -n, --no-interaction  Do not ask any interactive question
  -v|vv|vvv, --verbose  Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Help:
  This command save application files, database and vaults.

Les options disponibles sont :

  • --without-vault exclure les fichiers du vault dans l'archive produite.

Exemple :

./control/anakeen-control archive --without-vault -- /var/tmp/backup.zip

La génération de l'archive est lancée en tâche de fond. La commande status permet de suivre l'avancement.

L'archive zip est composée de 4 principaux éléments :

  • le répertoire control : contient les sources de Anakeen Control
  • le répertoire platform : contient les sources de Anakeen Platform (avec les sources de tous les modules installés)
  • le fichier core_db.pg_dump : contient le dump de la base de données
  • le répertoire vaults : contient les fichiers des coffres (sauf si option --without-vault est activée)

L'archivage d'un contexte peut nécessiter jusqu'à deux fois la taille des éléments à archiver. Une estimation de l'espace disque minimal nécessaire peut être obtenue avec la formule suivante :

  • s1 := taille( dump de la base de données )
  • s2 := taille( contenu du répertoire platform + control )
  • s3 := taille( contenu des vaults )
  • espace_libre_necessaire := ( s1 + s2 + s3 ) * 2

Restaurer l'archive d'un contexte

La restauration d'un contexte à partir d'une archive se fait avec les étapes suivantes :

  1. Création d'un répertoire vierge
  2. Décompression de l'archive dans ce répertoire
  3. Modifier les droits de ce répertoire
  4. Créer une base de données vierge avec son pg-service
  5. Lancer la commande de restauration

Comme pour la phase d'initialisation, il faut que la base de données ait l'extension unaccent si l'utilisateur "postgres" (celui référencé dans le pg-service) n'est pas superuser.

mkdir /var/www/html/backup
cd /var/www/html/backup
unzip -q /var/tmp/backup.zip
chown -R www-data: .
./control/anakeen-control restore --pg-service=backup

La commande restore lance la restauration en tâche de fond. La commande status permet de suivre l'avancement.

TIP

Le fichier core_db.pg_dump n'est pas supprimé. Pour économiser de la place, il peut être supprimé une fois la restauration validée.