Aller au contenu. | Aller à la navigation

Outils personnels

Navigation

Vous êtes ici : Accueil / Suivi serveur / Packing des bases - deprecated

Packing des bases - deprecated

J'ai installé (10/1/09) un paquet python pour permettre le packing des bases "offline" (c'est à dire que l'instance doit être arrêtée avant d'appliquer cette fonction de pack) :

Lieu d'installation : /opt/zope/packing/z3c.offlinepack

Commandes d'installation et d'utilisation:

  $ svn co svn://svn.zope.org/repos/main/z3c.offlinepack/trunk z3c.offlinepack
  $ cd z3c.offlinepack
  $ python bootsrtap/bootsrtap.py -v
  $ bin/buildout -v
  $ bin/offlinepack /path/to/Data-copy.fs

  

Une commande comme :

/var/zope/plonedev/bin/instance stop; bin/offlinepack -d 7 /var/zope/plonedev/var/filestorage/Data.fs; /var/zope/plonedev/bin/instance start

arrête l'instance, puis effectue le pack (à 7 jours => laissant 7 jours de "undo"), puis relance l'instance!

Politique de sauvegarde

Il y a deux types de sauvegarde :

  1. locale
  2. distante
La sauvegarde locale se fait à partir des outils python à disposition, et plus précisément avec un paquet backup qui est installé via le buildout sur les instances (il faut ajouter quelques lignes au buildout voir la doc de backup). Ce paquet utilise les outils de Zope (entre autres repozo) pour mettre à disposition quelques scripts simple de sauvegarde, mais aussi de récupération (voir la doc sous http://pypi.python.org/pypi/collective.recipe.backup/0.5).
Pour mettre en oeuvre cette politique de sauvegarde locale et le packing des bases, un script python a été fait (backup.py) qui est lancé chaque jour par cron.
 
La sauvegarde distante se fait chaque semaine après le "packing" en utilisant l'outil duplicity (qui fait du backup incrémentiel sur serveur ftp, outil installé avec la commande sudo apt-get install duplicity) de la base sur un serveur de backup (dedibackup.dedibox.fr).
 
Un script "maison" a été fait pour permettre un appel (par crontab) par jour d'un seul script. Ce script backup.py est sous /home/ageliaco/bin . Il doit être appelé avec un nom de fichier CSV qui doit contenir par ligne : "nom_instance, path_instance".
Il lance un "pack" si le jour est un dimanche (en utilisant le script "offlinepack" ci-dessus), ainsi que le backup sur serveur distant et lance un backup en appelant le script "backup" de chaque instance (à partir du "path_instance" comme chemin de base).