Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- # per a fer un full : ./cron_nocturn.sh full
- ZEO_FOLDER=/var/plone/ZEO
- # Zeo port
- ZEO_PORT = 8023
- # Name of the DB
- ZEO_DB = zodb1
- BACKUP_FOLDER=/backup/plone
- LOGBACKUP=/var/plone/ZEO/backup.log
- BACKUPDIR=`date +%d`
- echo "INICI BACKUP" >> $LOGBACKUP
- echo `date` >> $LOGBACKUP
- # Fem el packing
- if [ "$1" = "full" ]; then
- $ZEO_FOLDER/bin/zeopack -S $ZEO_DB -p $ZEO_PORT -h 127.0.0.1
- echo " Comprovant folders"
- #mirem si existeix el folder de backup
- if ! [ -x $BACKUP_FOLDER/$ZEO_DB ]; then
- mkdir $BACKUP_FOLDER/$ZEO_DB
- fi
- #mirem si existeix el backup folder del dia
- if ! [ -x $BACKUP_FOLDER/blobs/$BACKUPDIR/ ] ; then
- mkdir $BACKUP_FOLDER/blobs/$BACKUPDIR/
- fi
- echo " Backup Data.fs"
- # backup de Data.fs
- if [ "$1" = "full" ]; then
- echo " Copiant Data.fs"
- $ZEO_FOLDER/bin/repozo -B -F -r $BACKUP_FOLDER/$ZEO_DB/ -f $ZEO_FOLDER/var/filestorage/Data_$ZEO_DB.fs
- echo " Purgant backups antics"
- $ZEO_FOLDER/neteja.py -l $BACKUP_FOLDER/$ZEO_DB -k 2
- else
- $ZEO_FOLDER/bin/repozo -B -r $BACKUP_FOLDER/$ZEO_DB/ -f $ZEO_FOLDER/var/filestorage/Data_$ZEO_DB.fs
- fi
- echo " Copiant blobs"
- # backup blobs
- rm -rf $BACKUP_FOLDER/blobs/$BACKUPDIR
- cd $BACKUP_FOLDER/current-blobs && find . -print | cpio -dplm $BACKUP_FOLDER/blobs/$BACKUPDIR
- rsync --force --ignore-errors --delete --update -a $ZEO_FOLDER/var/blobs/ $BACKUP_FOLDER/current-blobs/
- echo "FI BACKUP" >> $LOGBACKUP
- echo `date` >> $LOGBACKUP
- #!/usr/bin/python2.4
- # neteja.py -l [directori_desti] -k [numero_fulls_a_mantenir]
- # Script que neteja un directori amb backups i guarda nomes els ultims fulls que li especifiquis
- # Es basa en la utilitzacio de collective.recipe.backup
- # Author: Victor Fernandez de Alba <[email protected]>
- import sys, getopt
- sys.path[0:0] = [
- '/var/plone/genwebupcZEO/produccio/eggs/collective.recipe.backup-1.3-py2.4.egg',
- '/var/plone/genwebupcZEO/produccio/eggs/zc.buildout-1.4.2-py2.4.egg',
- '/var/plone/genwebupcZEO/produccio/eggs/zc.recipe.egg-1.2.2-py2.4.egg',
- '/var/plone/genwebupcZEO/produccio/eggs/setuptools-0.6c11-py2.4.egg',
- ]
- import collective.recipe.backup.repozorunner
- argv = sys.argv[1:]
- try:
- opts, args = getopt.getopt(argv, "l:k:", ["location=", "keep="])
- except getopt.GetoptError:
- print "neteja.py -l [directori_desti] -k [numero_fulls_a_mantenir]"
- sys.exit(2)
- for opt, arg in opts:
- if opt in ("-l", "--location"):
- location = arg
- elif opt in ("-k", "--keep"):
- keep = arg
- if len(opts)<2:
- print "neteja.py -l [directori_desti] -k [numero_fulls_a_mantenir]"
- sys.exit(2)
- collective.recipe.backup.repozorunner.cleanup(location, keep)
Add Comment
Please, Sign In to add comment