OSE Site Backup: Difference between revisions

From Open Source Ecology
Jump to navigation Jump to search
(Created page with "Our site uses [http://code.orgecc.com/mbackup/ mbackup] as a backup tool. ==Installation== ==Modules== Category: IT Infrastructure")
 
No edit summary
Line 1: Line 1:
Our site uses [http://code.orgecc.com/mbackup/ mbackup] as a backup tool.
Our site uses [http://code.orgecc.com/mbackup/ mbackup] as a backup tool. ''mbackup'' uses ''duplicity'' as a back-end.


==Installation==
 
==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==
==Modules==

Revision as of 05:27, 8 June 2011

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