Alfresco Backup and Recovery Tool, release v0.1

Project was聽moved to Github!

Please go to聽https://github.com/toniblyx/alfresco-backup-and-recovery-tool聽for downloads, questions, issues, suggestions or feedback. Thanks!

Here you go, first release of the Alfresco Backup and Recovery Tool (Alfresco BART). An Apache 2.0 licensed tool for backup and restore of Alfresco ECM.

DESCRIPTION
Alfresco BART is a tool written in shell script on top of Duplicity for Alfresco backups and restore from a local file system, FTP, SCP or Amazon S3 of all its components: indexes, data base, content store and all deployment and configuration files. It should runs in most Linux distributions, for Windows you may use Cygwin (non tested yet).

Brief description of its features: full and incremental backups, backup policies, backup volume control, encryption with GPG, compression. Also it has a restore wizard with shortcuts for quick restore of some key components (alfresco-global.properties and more).

DISCLAIMER
This is an initial version, it has bugs and needs many improvements, please take care 馃檪

FEATURES
Features in this version (v0.1):

  • 5 different modes of work: backup, restore, verify, collection and list
    • backup: runs an incremental backup or a full if first time or configured
    • restore: runs the restore wizard
    • verify: verifies the backup
    • collection: shows all the backup sets in the archive
    • list: lists the files currently backed up in the archive
  • Full and incremental backups.
  • Backup policies:
    • Periodicity: number of days of every full backup, if not backup found it does a full
    • Retention: keep full or incremental copies, clean old backups.
    • Control of number of moths to remove all backups older than or backup retention period.
  • Separated components (backup sets or groups), ability to enable or disable any set (cluster and dedicated search server aware), all backup sets supported are:
    • Indexes (SOLR or Lucene)
    • Data base (MySQL, PostgreSQL and Oracle)
    • Content Store plus deleted, cached and content store selector (optional).
    • Files: all configuration files, deployments, installation files, etc.
  • Restore wizard with support to:
    • restore a full backup (all sets)
    • given backup set
    • restore from a given date or days, month, year ago
    • restore alfresco-global.properties from a point in time
  • Backup volume control:
    • All backups collections are split in a volume size 25MB by default, this can help to store your backup in tapes or in order to upload to a FTP, SCP or S3 server.
  • Backup to different destinations:
    • Local filesystem
    • Remote FTP or FTPS server
    • SCP server (should have shared keys already configured, no authentication with user and password supported)
    • Amazon S3
  • Encryption with GnuPG, all backup volumes are encrypted, this feature is configurable (enable or disable).
  • Compression, all backup volumes are compressed by default
  • Log reporting, Alfresco BART creates a log file each day of operation with in a report of any activity.

DEPENDENCES

  • Duplicity 0.6 (with boto and fabric)
  • Python聽
  • GnuPG
  • NcFTP
  • librsync
  • mysqldump for MySQL backup
  • pg_dump for PostgreSQL backup
  • exp for Oracle backup

TODO

  • TEST, TEST and TEST with JBOSS, MySQL, Oracle, S3, FTPs, SCP, etc.
  • Add more input and task controllers (and configuration, first run).
  • Restore single repository file.
  • Snapshots (LVM if exist, AWS if exist).
  • Support for MS SQL Server.
  • Configuration wizard (shell).
  • Share admin panel configuration page as main point to configure more options related to backup (eager, cleaner, index backup, trascan cleaner, etc.).
  • Custom logging control and reporting improvement.

DOWNLOADS and INSTALLATION聽

Most recent information about tool and latest code is available in:
http://blyx.com/alfresco-bart

Please report bugs and improvements to: reverse moc.xylb@inot

12 thoughts to “Alfresco Backup and Recovery Tool, release v0.1”

  1. Toni perm铆te que te felicite por esta fant谩stica herramienta !!
    Hasta he puesto la tarea en el cron para su ejecuci贸n diaria jejeje

    Gracias
    Un abrazo 馃榾

  2. Que bien Manolo! Muchas gracias por probarlo, com茅ntame como va te funciona y cualquier sugerencia, consulta o bug es bienvenido!
    Saludos!

  3. Hola Toni, hay avances en el soporte para MSSQL?
    Si me dices el estado quiz谩 podamos ayudarte a darle un empuj贸n!

    Un abrazo y espero que todo vaya de maravilla!.

  4. Hola Javi,
    En principio no he hecho nada relacionado con MSSQL y no hay planes por ahora ya que el script solo funciona en Linux, pero cualquier idea o ayuda es bienvenida!

  5. Hola Toni, he restado realizando ciertas pruebas y el backup lo hace genial, pero me ha quedado una duda. He realizado tres backups “all” seguidos y seg煤n tu indicabas, solo el primero debe de ser full y los demas incrementales. el caso es que ejecutando N backups seguidos, sin cambio alguno … siendo el primero full con 1,4 GB, los siguientes incrementales son de aproximadamente 1,1GB.
    Parece que sobre la base de datops, sobre el contenstore y sobre el index efectivamente se hace incremental, pero no sobre el objeto files.

    Quizas tengo algo mal en la configuracion?
    Muchas gracias

  6. Hola, disculpa responder tarde, se me pas贸 tu comentario. Mira en la secci贸n contacto y me mandas un email con la configuraci贸n, es raro que vuelva a hacer backup de files si no se han modificado.
    Saludos.

  7. Buenos d铆as Toni he instalado la aplicaci贸n en un redhat 5 para un alfresco 4.0.2, cuando ejecuto tanto el backup como el restore pe aparece un warning tal que asi: “Import of duplicity.backends.webdavbackend Failed: invalid syntax (webdavbackend.py, line 301)
    WARNING 1
    . Import of duplicity.backends.webdavbackend Failed: invalid syntax (webdavbackend.py, line 301)

    Import of duplicity.backends.u1backend Failed: cannot import name parse_qsl”

    Entiendo que el problema esta en la lectura del python al script pero a煤n elevando la versi贸n del python el problema no desaparece

  8. Hola Alexandre, parece que es por la versi贸n de python o de duplicity, siendo una versi贸n RH5 es bastante probable.

  9. Hello Toni. Sorry for english. Does BART work with Alfresco Community edition 5.2.0?
    Thank you!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.