OSE Site Backup

From Open Source Ecology
Revision as of 05:27, 8 June 2011 by Elifarley (talk | contribs)
Jump to navigation Jump to search

Our site uses mbackup as a backup tool. mbackup uses duplicity as a back-end.


Pre-Requisites

OSE's site is located on a shared server. We had to install duplicity and its libraries on a separate folder (hence identified by $D_ROOT). Before running mbackup, we need to prepare some environment variables by running $D_ROOT/init.sh:

% cat $D_ROOT/init.sh 
BASEDIR="$(dirname $0)"
export LD_LIBRARY_PATH=$D_ROOT/lib:$D_ROOT/usr/lib
export PYTHONPATH=$D_ROOT/share/pyshared:$LD_LIBRARY_PATH
export PATH=~/bin:$D_ROOT/bin:$PATH
export HGRCPATH="$HOME/.hgrc"

Folders

mbackup itself is installed on a folder identified as $MBKP_HOME.

On ~/.config/mbackup/ we have configuration files:

-rw-r--r-- 1 a_user a_group 1 2011-06-05 15:43 mbackup-config.sh
drwxr-xr-x 2 a_user a_group 4 2011-06-05 16:03 modules/
drwx------ 2 a_user a_group 4 2011-06-05 16:03 priv/

On .config/mbackup/modules we have the configuration for each module to be backed up:

blog-db.pre      drupal-db.post         forum-db.pre       wiki-db.post
blog-db-var.pre  drupal-db.pre          home.files         wiki-db.pre
civicrm-db.pre   drupal-sites.excludes  limesurvey-db.pre  wiki-root.excludes

On .config/mbackup/priv we have sensitive configuration data (like db passwords):

altroot.priv     drupal-db.priv     home.priv             wiki-extra-1.priv
blog-cache.priv  drupal-root.priv   limesurvey-db.priv    wiki-extra-2.priv
blog-db.priv     drupal-sites.priv  limesurvey-root.priv  wiki-root.priv
blog-extra.priv  forum-db.priv      _mbackup.priv
blog-root.priv   forum-extra.priv   site-root.priv
civicrm-db.priv  forum-root.priv    wiki-db.priv

mbackup-config.sh is the main configuration file:

cat .config/mbackup/mbackup-config.sh
#!/bin/sh
FORUM_ROOT="path/to/forum/root"
BLOG_ROOT="path/to/blog/root"
OSE_ROOT="path/to/main/site"
# MBKP_BASE_TARGET="sftp://user@backup.domain.com/mbackup-modules"
MBKP_BASE_TARGET="file://$MBKP_LOCAL_DATA"

_mbackup.priv contains other configurations:

cat .config/mbackup/priv/_mbackup.priv
# Please choose the default passwords you want to use
# for protecting your backups.
set +x
# Default Gpg passphrase for Duplicity
PASSPHRASE='the-passphrase'
# Default password for ssh / sftp
FTP_PASSWORD="the-ftp-password"
# Delete the line below in order to use mbackup:
# MBKP_FIRST_RUN=1

~/.local/share/mbackup/data/ contains a folder for each module, storing duplicity archives. Said folder is rsynce'd to a remote server.

~/.local/share/mbackup/cache/modules contains cache files used during backup (like database dumps)

Modules