TurnKey Linux Backup and Migration profiles
Python Shell Standard ML
Switch branches/tags
Nothing to show
Clone or download
Permalink
Failed to load latest commit information.
bin TurnKey Linux => TurnKey GNU/Linux Feb 13, 2015
hooks added migrate-slapd hook developed by Eric and Christoph Knittel Jun 7, 2014
.gitignore separated builds into a separate project Aug 24, 2010
README.rst added README.rst Jun 8, 2014
ansible added ansible Aug 31, 2015
appengine moved conf/* ./ Aug 24, 2010
appengine-go added blank profiles for new appliances: drupal7, appengine-{python,j… May 13, 2012
appengine-java added blank profiles for new appliances: drupal7, appengine-{python,j… May 13, 2012
appengine-python added blank profiles for new appliances: drupal7, appengine-{python,j… May 13, 2012
appflower added appflower Jun 21, 2012
asp-net-apache renamed lamm, lemp and llmp Aug 20, 2012
b2evolution added b2evolution Jul 9, 2012
bambooinvoice added bambooinvoice Jun 25, 2012
bugzilla moved conf/* ./ Aug 24, 2010
cakephp added cakephp Jul 25, 2012
canvas added canvas Jul 27, 2012
clipbucket added clipbucket Jul 12, 2012
codeigniter added codeigniter Jun 19, 2012
collabtive added collabtive Jul 11, 2012
concrete5 added concrete5 May 30, 2012
core Merge remote-tracking branch 'github/master' Mar 30, 2017
couchdb added couchdb Jun 28, 2012
deki Merge branch 'master' into beta Aug 24, 2010
django moved conf/* ./ Aug 24, 2010
dokuwiki Merge branch 'master' into beta Aug 24, 2010
domain-controller moved conf/* ./ Aug 24, 2010
drupal6 moved conf/* ./ Aug 24, 2010
drupal7 Revert "moved drupal7/overlay/etc/tklbam/overrides to profile" Sep 2, 2013
drupal8 added new apps for v14 Aug 14, 2015
e107 added e107 Jul 8, 2012
ec2sdk moved conf/* ./ Aug 24, 2010
ejabberd moved conf/* ./ Aug 24, 2010
elgg added elgg Jun 7, 2012
espocrm added new apps for v14 Aug 14, 2015
etherpad added nodejs and etherpad May 25, 2012
ezplatform rename ezpublish -> ezplatform Aug 2, 2017
fileserver moved conf/* ./ Aug 24, 2010
foodsoft added new apps for v14 Aug 14, 2015
foswiki add (empty) foswiki profile Jul 2, 2018
gallery moved conf/* ./ Aug 24, 2010
generic added generic dirindex.conf Nov 14, 2013
ghost add ghost app May 19, 2016
gitlab added gitlab Jun 5, 2012
gnusocial added new entries for renamed apps Aug 14, 2015
icescrum added icescrum Jul 16, 2012
jenkins added jenkins May 21, 2012
joomla moved conf/* ./ Aug 24, 2010
joomla15 removed cache exclude from magento, empty profiles for joomla15, joom… Jan 13, 2011
joomla16 removed cache exclude from magento, empty profiles for joomla15, joom… Jan 13, 2011
joomla25 added blank joomla25 profile Apr 24, 2012
joomla3 added new apps for v14 Aug 14, 2015
kliqqi rename pligg -> kliqqi Aug 2, 2017
lamp moved conf/* ./ Aug 24, 2010
lapp added appliances with postgres Sep 12, 2013
laravel added laravel: doesn't look like we need to backup any special locations Jun 7, 2014
lighttpd-php-fastcgi renamed lamm, lemp and llmp Aug 20, 2012
limesurvey added limesurvey May 14, 2012
lxc added lxc Dec 18, 2013
magento added cache and sessions Mar 2, 2018
mahara added appliances with postgres Sep 12, 2013
mambo added mambo Jul 10, 2012
mantis moved conf/* ./ Aug 24, 2010
mattermost add mattermost profile (currently empty) May 22, 2016
mayan-edms Add Mayan EDMS profile Jan 4, 2017
mediaserver update mediaserver profile Feb 19, 2016
mediawiki moved conf/* ./ Aug 24, 2010
mibew added mibew Jun 20, 2012
moinmoin Merge branch 'master' into beta Aug 24, 2010
mongodb added mongodb Jul 23, 2012
moodle moved conf/* ./ Aug 24, 2010
movabletype moved conf/* ./ Aug 24, 2010
mumble add mumble (not sure why it wasn't there already?) Nov 23, 2017
mysql moved conf/* ./ Aug 24, 2010
nextcloud add (non-standard) nextcloud webroot - closes #922 Aug 10, 2017
nginx-php-fastcgi renamed lamm, lemp and llmp Aug 20, 2012
nodejs added nodejs and etherpad May 25, 2012
observium added observium Oct 17, 2013
odoo At present, should work as "Lapp" does (consider python packages) Sep 7, 2015
omeka added omeka Jul 22, 2012
openldap added openldap Jul 19, 2012
openphoto added openphoto Jun 24, 2012
openvas update OpenVAS tklbam-profile to include local data Aug 2, 2017
openvpn added openvpn Aug 29, 2013
orangehrm added orangehrm Jun 14, 2012
oscommerce added oscommerce Jul 8, 2012
osqa added osqa Jun 10, 2012
otrs moved conf/* ./ Aug 24, 2010
owncloud actually, backup all /var/lib/owncloud - includes local backups, them… May 3, 2017
phpbb moved conf/* ./ Aug 24, 2010
phplist added phplist May 20, 2012
phpnuke added phpnuke Jul 9, 2012
phreebooks added new entries for renamed apps Aug 14, 2015
phreedom added phreedom Jul 9, 2012
piwik added piwik Jun 14, 2012
plone added plone May 16, 2012
postgresql added appliances with postgres Sep 12, 2013
prestashop added profile confs for magento, prestashop and vtiger Dec 30, 2010
processmaker added processmaker Jun 6, 2012
projectpier moved conf/* ./ Aug 24, 2010
punbb added punbb Jul 24, 2012
rails moved conf/* ./ Aug 24, 2010
redmine exclude /var/www/redmine/tmp from backup Oct 15, 2013
revision-control moved conf/* ./ Aug 24, 2010
roundup Modifie roundup profile Jun 19, 2018
sahana-eden added web2py and sahana-eden May 31, 2012
sencha added sencha Jun 22, 2012
silverstripe added silverstripe Jun 13, 2012
simpleinvoices added simpleinvoices Jun 29, 2012
simplemachines added simplemachines Jul 10, 2012
sitracker added sitracker Jun 19, 2012
statusnet removed cache exclude from magento, empty profiles for joomla15, joom… Jan 13, 2011
sugarcrm added sugarcrm May 15, 2012
suitecrm added new apps for v14 Aug 14, 2015
symfony exclude symfony cache Apr 24, 2012
syncthing add syncthing profile (empty) Jul 5, 2018
tendenci added appliances with postgres Sep 12, 2013
tkldev added tkldev Jul 2, 2013
tomatocart added tomatocart May 23, 2012
tomcat fix tomcat profiles for v14.x Feb 19, 2016
tomcat-apache fix tomcat profiles for v14.x Feb 19, 2016
torrentserver Merge branch 'master' into beta Aug 24, 2010
trac Merge branch 'master' into beta Aug 24, 2010
tracks moved conf/* ./ Aug 24, 2010
twiki twiki no longer installed from package but from upstream Oct 21, 2010
typo3 added typo3 Jun 17, 2012
ushahidi added ushahidi May 22, 2012
vanilla added vanilla May 17, 2012
vtiger added profile confs for magento, prestashop and vtiger Dec 30, 2010
web2py added web2py and sahana-eden May 31, 2012
wordpress moved conf/* ./ Aug 24, 2010
xoops added xoops Jun 18, 2012
yiiframework added yiiframework Jun 13, 2012
zencart added zencart Jun 18, 2012
zoneminder add zoneminder profile - include all videos and images by default Jul 16, 2018
zurmo added zurmo Jun 12, 2012

README.rst

Overview

This repository contains:

  1. Profile hooks in hooks/

    Since TKLBAM 1.4, profile level hooks are supported. These are TKLBAM hooks that live inside the profile. They work just like the hooks in /etc/tklbam/hooks.d except that they need to be cryptographically signed by the TurnKey release key for security reasons.

    The idea is to use this to build up a library of hooks that are useful during migration (e.g., stopping/starting services to prevent serialization issues, tweaking a configuration file or upgrading a database schema, etc.)

    We don't use this enough yet, but the infrastructure is already there.

  2. Path includes/excludes configurations in the top-level

    These are the plain text top-level configuration files which we use to determine which paths to index when TKLBAM profiles are generated. Most of them are empty.

    In a nutshell, these configurations are a list of filesystem paths to scan for changes.

    Each TurnKey app has its own configuration file that includes or excludes filesystem paths that we don't scan for changes in the "core" profile. In other words, all configurations inherit from "core".

    If the "core" configuration is sufficient, then the app-specific configuration will be empty. Most of them are empty.

What paths are we scanning changes to?

As per the embedded documentation from tklbam internal create-profile command:

In principle, we want to track changes to the user-servicable,
customizable parts of the filesystem (e.g., /etc /root /home /var
/usr/local /var /opt /srv) while ignoring changes in areas maintained by
the package management system.  The "Filesystem Hierarchy Standard"
describes the Linux filesystem structure.

Why not backup everything?

TKLBAM was originaly designed to make it easy for users to only backup the
delta (I.e., changes) from a fixed installation base (I.e., an appliance). In
this usage scenario, less is more.

By default we only backup your data and configurations, plus a list of new
packages you've installed. Later when you restore these will be overlaid on top
of the new appliance's filesystem and the package management system will be
asked to install the missing packages.

By contrast, If you backup the entire filesystem TKLBAM won't be able to help
you migrate your data and configurations to a newer version of an appliance.
The restore will just run everything over. At best you'll end up with the old
appliance in a new location. But more likely you'll end up mixing the old and
new filesystems and break the package management system.

For more detail:

$ tklbam internal create-profile --help
What is a backup profile?

A backup profile is used to calculate the list of system changes that need to
be backed up (e.g., new files and packages). It typically describes the
installation state of the system and includes 3 files:

* dirindex.conf: list of filesystem paths to scan for changes
* dirindex: index of timestamps, ownership and permissions for dirindex.conf paths
* packages: list of currently installed packages.

[ .. snip ..]