OSE Site Backup: Difference between revisions
(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. | ||
== | |||
==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)