Outils personnels
Vous êtes ici : Accueil Blog Backup et pack du Data.fs pour un ZEO
Navigation
 
Actions sur le document

Backup et pack du Data.fs pour un ZEO

Filed Under:

Script pour backuper et packer le data.fs d'un ZEO à mettre en cron

Afin d'automatiser la pack et le backup d'un data.fs, j'ai trouvé sur ce site un petit script fort sympathique qye j'ai légérement customisé.

Le script réalise en premier lieu un pack du data.fs puis une sauvegarde au format zfs afin de restaurer le data.fs simplement.

#!/bin/bash

unset PATH;

ECHO=/bin/echo;
TOUCH=/bin/touch;
CHOWN=/bin/chown;
MKDIR=/bin/mkdir
export admin_address="djkwa29@gmail.com"
export mess="Success packing and back up..."

LIB=/home/kwa29/Zope-2.9.3/
PYTHONVERSION=2.4
PYTHONPATH="${LIB}lib/python/:/usr/lib/python${PYTHONVERSION}:/usr/lib/python${PYTHONVERSION}/plat-linux2:/usr/lib/python${PYTHONVERSION}/lib-tk:/usr/lib/python${PYTHONVERSION}/lib-dynload:/usr/local/lib/python${PYTHONVERSION}/site-packages:/usr/lib/python${PYTHONVERSION}/site-packages"
export PYTHONPATH

ZEOPACK=${LIB}bin/zeopack.py
REPOZO=${LIB}bin/repozo.py

INSTANCE=/home/kwa29/Zope-2.9.3/zs14080/
# Rep de sauvegarde
SNAPSHOT_DIR=/home/kwa29/Backup

# Pack de Datafs, ne garder que les 3 derniers jours
$ZEOPACK -h localhost -p 14080 -d 3

# Backup
if [ -d ${SNAPSHOT_DIR} ] ; then
        ${REPOZO} -B -F -v -z -r $SNAPSHOT_DIR -f ${INSTANCE}var/Data.fs
        /bin/mail -s "SUCCESS: Kwa29 ZODB" ${admin_address} <<EOF
${mess}
EOF
else
# Erreur du pack ou backup
 /bin/mail -s "ERRROR: Kwa29 ZODB" ${admin_address} <<EOF
Problem to pack or backup.
EOF

fi

# REMARQUES

# Restauration du backup
#${LIB}bin/repozo.py -Rv -r /home/kwa29/Backup -D YYYY-MM-DD-HH-MM-SS -o Copy.fs
#${LIB}bin/repozo.py -Rv -r /home/kwa29/Backup -D  2005-11-17-10-18-03 -o Copy.fs

# Rotation de logs
# voir /etc/logrotate.d/zeo
#/opt/zeo1/log/zeo.log {
#       weekly
#       rotate 52
#       compress
#       notifempty
#       missingok
#       postrotate
#               /opt/zeo1/bin/zeoctl logreopen
#       endscript
#}

Ensuite en crontab

10 4 1 * * /home/kwa29/zeopack.sh

Lance le script tous les mois à 04h10 du matin.