initial commit, tisbackup documentation, WIP
This commit is contained in:
committed by
Denis Cardon
parent
d079b542be
commit
5f672dd630
@@ -0,0 +1,135 @@
|
||||
.. Reminder for header structure:
|
||||
Level 1: ====================
|
||||
Level 2: --------------------
|
||||
Level 3: ++++++++++++++++++++
|
||||
Level 4: """"""""""""""""""""
|
||||
Level 5: ^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. meta::
|
||||
:description: Technical background for TISBackup
|
||||
:keywords: Documentation, TISBackup, technical background
|
||||
|
||||
.. |clap| image:: wapt-resources/clapping-hands-microsoft.png
|
||||
:scale: 50%
|
||||
:alt: Clapping hands
|
||||
|
||||
Technical background for TISBackup
|
||||
==================================
|
||||
|
||||
The deduplication of this solution is based on the hardlinks
|
||||
of ext3/4 file systems used for storing backup files.
|
||||
|
||||
The backup server must run :program:`rsync` in server mode,
|
||||
and the workstations to be backed up must be equipped with :program:`rsync`
|
||||
and :program:`ssh` (usually basic on machines running GNU/Linux,
|
||||
with :program:`cygwin` (or another tool like :program:`cwrsync`)
|
||||
for machines running MS Windows).
|
||||
|
||||
tisbackup
|
||||
---------
|
||||
|
||||
:program:`tisbackup` is a python script that the backup server runs
|
||||
at regular intervals. The configuration file :file:`tisbackup.ini` contains
|
||||
the details of the tasks to be executed.
|
||||
|
||||
:program:`tisbackup` has different options for its execution,
|
||||
available in the :command:`tisbackup --help` command,
|
||||
the main ones being the following:
|
||||
|
||||
* :command:`backup`: executes all scheduled backups;
|
||||
|
||||
* :command:`cleanup`: examines the backups and deletes those
|
||||
that are older than the defined maximum retention time ;
|
||||
|
||||
* :command:`checknagios`: returns the content that can be viewed by nagios ;
|
||||
|
||||
* :command:`retryfailed`: redoes the backups that previously failed;
|
||||
|
||||
* :command:`exportbackup`: exports the last valid backups
|
||||
to the specified location (remote, external media, ...);
|
||||
|
||||
* :command:`register_existing`: scans the backups that have been made
|
||||
and adds the missing ones to the database;
|
||||
|
||||
tisbackup.ini
|
||||
-------------
|
||||
|
||||
:file:`tisbackup.ini` defines the backups to be executed and supervised.
|
||||
It is written with a simple formalism.
|
||||
|
||||
The different types of backups are:
|
||||
|
||||
* ``rsync``: the backup of a directory by rsync using the rsync protocol;
|
||||
|
||||
* ``rsync+ssh``: the backup of a directory by rsync with the ssh protocol;
|
||||
|
||||
* ``mysql+ssh``: saving a mysql database in a gzipped sql file,
|
||||
with the ssh protocol;
|
||||
|
||||
* ``pgsql+ssh``: the backup of a postgresql database in a gzipped sql file,
|
||||
with the ssh protocol;
|
||||
|
||||
* ``xen-xva``: the backup of a virtual machine running on an XCP server
|
||||
as an XVA file;
|
||||
|
||||
* ``xen-meta-data``: the backup of XCP metadata from a virtualization server;
|
||||
|
||||
* ``switch``: the backup of switches;
|
||||
|
||||
* ``null``: null backup of a server that does not require a backup but for which
|
||||
it is known to be taken into account (Nagios supervision);
|
||||
|
||||
The first part of the :file:`tisbackup.ini` file,
|
||||
starting with the ``[Global]`` tag, determines:
|
||||
|
||||
* the path to the folder where the backups will be stored;
|
||||
|
||||
* the maximum retention time of a backup (in days);
|
||||
|
||||
* the maximum delay before triggering a nagios critical message (in hours);
|
||||
|
||||
* possibly the limit of usable bandwidth;
|
||||
|
||||
The rest of the file lists the different backups to be made,
|
||||
with specific parameters for each type of backup:
|
||||
|
||||
* name of the directory in the backup;
|
||||
|
||||
* backup type;
|
||||
|
||||
* server name;
|
||||
|
||||
* directory (in case of a directory backup);
|
||||
|
||||
* directories to be excluded (idem);
|
||||
|
||||
* location of the ssh key to be used (private key on the backup server);
|
||||
|
||||
* name of the database (in case of mysql or postgresql database backup);
|
||||
|
||||
* ssh port number to use;
|
||||
|
||||
* database user and password (in case of mysql or postgresql database backup);
|
||||
|
||||
tisbackup.sql
|
||||
-------------
|
||||
|
||||
:file:`tisbackup.sql` is the :program:`sqlite` database available
|
||||
on the backup server, in which the backup information of each
|
||||
of the backed up areas is stored. It is used in particular to gather
|
||||
the information necessary for Nagios.
|
||||
|
||||
TISbackup GUI
|
||||
-------------
|
||||
|
||||
Also developed in python, TISbackup GUI is a graphical interface
|
||||
that allows you to:
|
||||
|
||||
* visualize the last backups;
|
||||
|
||||
* export a backup to a USB media;
|
||||
|
||||
* visualize the backups to be made;
|
||||
|
||||
|clap| You may now go on to the next step
|
||||
and :ref:`install TISBackup on your Debian<base_debian_server_install>`.
|
||||
Reference in New Issue
Block a user