Skip to content

Commit

Permalink
Merge branch 'master' into feature/lp_1206202_handle_pgdump_missing_cmd
Browse files Browse the repository at this point in the history
  • Loading branch information
abg committed Nov 19, 2014
2 parents 3e490f9 + b0fdd2e commit dd5cb17
Show file tree
Hide file tree
Showing 25 changed files with 244 additions and 148 deletions.
37 changes: 36 additions & 1 deletion CHANGES.txt → CHANGES.rst
Expand Up @@ -8,6 +8,41 @@ http://bugs.launchpad.net/holland-backup
GH# referes to the deprecated github bug tracker here:
https://github.com/holland-backup/holland/issues

1.0.12 - unreleased
-------------------

holland
+++++++
- The "holland" command no longer attempts to suppress log output when output
is not to a terminal. Previously this was done when either the --quiet
options was used or if holland detected it was not writing to a console.
Now the "holland --quiet" option must be used to suppress output or output
can be redirected via standard shell stdio facilities.
(Fixes GH#98)

holland-mysqldump
+++++++++++++++++
- Various MySQL metadata queries used by the mysqldump plugin
were not compatible with MySQL-python 1.2.5 due to the
way parameters were passed. (Fixes GH#106).
- exclude-invalid-views will now handle invalid views using
an illegal mix of collation (Fixes LP#1207852).
- exclude-invalid-views handles unexpected mysql errors more
gracefully now. (Fixes LP#1207852)
- lock-method = auto-detect now considers memory, myisam_mrg
and federated engines as transactional when determining
whether to use mysqldump --single-transaction (LP #1081261)
- mysqldump failed to detect invalid views under mysql 5.0
(LP #1262352)
- invalid strings in show slave status are now handled more
gracefully (LP #1220841)

holland-xtrabackup
++++++++++++++++++
- holland-xtrabackup now uses innobackupex as innobackupex binary
as innobackupex-1.5.1 has been deprecated upstream for several
releases

1.0.10 - Jul 29, 2013
---------------------

Expand All @@ -22,7 +57,7 @@ holland

holland-common
++++++++++++++
- FLUSH TABLES is now run as FLUSH /*!40101 LOCAL */ TABLES to avoid
- FLUSH TABLES is now run as FLUSH /\*!40101 LOCAL \*/ TABLES to avoid
replicating this statement. This affects any plugins that issue flush
tables via the holland-common mysql client API

Expand Down
2 changes: 1 addition & 1 deletion config/backupsets/examples/xtrabackup.conf
Expand Up @@ -6,7 +6,7 @@ purge-policy = after-backup
estimated-size-factor = 1.0

[xtrabackup]
innobackupex = innobackupex-1.5.1
innobackupex = innobackupex
stream = yes
slave-info = no

Expand Down
2 changes: 1 addition & 1 deletion config/providers/xtrabackup.conf
Expand Up @@ -4,7 +4,7 @@ estimated-size-factor = 1.0
plugin = xtrabackup

[xtrabackup]
innobackupex = innobackupex-1.5.1
innobackupex = innobackupex
stream = yes
slave-info = no

Expand Down
2 changes: 1 addition & 1 deletion contrib/holland.spec
Expand Up @@ -373,7 +373,7 @@ rm -rf %{buildroot}

%files
%defattr(-,root,root,-)
%doc CHANGES.txt README README.plugins README.providers
%doc CHANGES.rst README README.plugins README.providers
%doc INSTALL LICENSE config/backupsets/examples/
%if %{with sphinxdocs}
%doc docs/build/html/
Expand Down
15 changes: 14 additions & 1 deletion docs/source/_themes/holland/static/agogo.css_t
Expand Up @@ -199,11 +199,21 @@ div.document .section:first-child {
margin-top: 0px;
}

div.document div.highlight {
div.highlight {
padding: 3px;
background-color: #eeeeec;
border: 1px solid #dddddd;
margin-top: .8em;
margin-bottom: .8em;
}

div.document {
padding: 3px;
/*
background-color: #eeeeec;
border-top: 2px solid #dddddd;
border-bottom: 2px solid #dddddd;
*/
margin-top: .8em;
margin-bottom: .8em;
}
Expand Down Expand Up @@ -434,8 +444,11 @@ div.versionadded, div.versionmodified, div.deprecated {
pre {
font-size: 100%;
line-height: 125%;
/*
background-color: #dddddd;
border-style: dotted;
border-width: 1px;
border-color: #aaaaaa;
*/
overflow-y: auto;
}
47 changes: 32 additions & 15 deletions docs/source/config.rst
@@ -1,11 +1,10 @@
.. _config:


Holland Config Files
====================
Configuring Holland
===================

By default, Holland's configuration files reside in /etc/holland. The main
configuration file is holland.conf, however there are a number of other
configuration file is holland.conf, however there are a number of other
configuration files for configuring default settings for providers and for
configuring backup sets.

Expand All @@ -17,10 +16,12 @@ Comments are prefixed by the # sign.
Note that many settings have default values and, as a result, can either
be commented out or omitted entirely.

holland.conf - main config
--------------------------
.. _config-global:

Global Config
-------------

The main configuration file (usually /etc/holland/holland.conf) defines
The main configuration file (usually ``/etc/holland/holland.conf``) defines
both global settings as well as the active backup sets. It is divided into
two sections :ref:`[holland]<holland-config>` and :ref:`[logging]<logging-config>`.

Expand Down Expand Up @@ -111,6 +112,8 @@ Example
## debug, info, warning, error, critical (case insensitive)
level = info
.. _config-backupsets:

Backup-Set Configs
------------------

Expand Down Expand Up @@ -223,8 +226,6 @@ For example
before-backup-command = /usr/local/bin/my-custom-script --hook ${hook} --backupset ${backupset} --backupdir ${backupdir}
after-backup-command = echo ${backupset} completed successfully. Files are in ${backupdir}
[mysqldump]
...
Backup-Set files are defined in the "backupsets" directory which is,
by default, ``/etc/holland/backupsets``. The name of the backup-set is
Expand Down Expand Up @@ -253,15 +254,31 @@ For advanced users, the defaults for each provider plugin can be changed
by editing the default configuration file for said provider. These files are
located in ``/etc/holland/providers`` by default.

MySQL Plugins
"""""""""""""
.. toctree::
:maxdepth: 1

mysqldump <provider_plugins/mysqldump>
MySQL + LVM <provider_plugins/mysql-lvm>
mysqldump + LVM <provider_plugins/mysqldump-lvm>
Xtrabackup <provider_plugins/xtrabackup>
MySQL Client Helper Plugin <provider_plugins/mysqlconfig>

Other Plugins
"""""""""""""
.. toctree::
:maxdepth: 1

pgdump (PostgreSQL) <provider_plugins/pgdump>
Example Plugin <provider_plugins/example>

Helper Plugins
""""""""""""""
.. toctree::
:maxdepth: 1

provider_configs/example
provider_configs/mysqldump
provider_configs/mysql-lvm
provider_configs/mysqldump-lvm
provider_configs/xtrabackup
provider_configs/pgdump
Compression Helper Plugin <provider_plugins/compression>

Backup Set Config Example
^^^^^^^^^^^^^^^^^^^^^^^^^
Expand Down
10 changes: 5 additions & 5 deletions docs/source/index.rst
Expand Up @@ -5,12 +5,12 @@ Table of Contents
-----------------

.. toctree::
:maxdepth: 2
:maxdepth: 3

intro
commands
overview
config
intro
commands
overview
config

Indices and tables
------------------
Expand Down
11 changes: 6 additions & 5 deletions docs/source/intro.rst
Expand Up @@ -30,9 +30,10 @@ Note that other plugins may have additional dependency requirements.
Installation
------------
Holland has ready-made packages available for Red-Hat, CentOS, and Ubuntu
which are available via the OpenSUSE build system
`here <http://download.opensuse.org/repositories/home:/holland-backup/>`_.
Other distributions may download the generic tarball
`here <http://hollandbackup.org/releases/stable/1.0/>`_ or pull directly
from the GitHub tree `here <https://github.com/holland-backup/holland>`_.
which are available via the `OpenSUSE build system`_.
Other distributions may download the `generic tarball`_ or pull directly
from `github`_.

.. _OpenSUSE build system: http://download.opensuse.org/repositories/home:/holland-backup/
.. _generic tarball: http://hollandbackup.org/releases/stable/1.0/
.. _github: https://github.com/holland-backup/holland
Expand Up @@ -4,28 +4,33 @@
Specify various compression settings, such as compression utility,
compression level, etc.

**method** = gzip | pigz | bzip | lzop | lzma
**method** = gzip | pigz | bzip | lzop | lzma | gpg

Define which compression method to use. Note that some methods may
Define which compression method to use. Note that some methods may
not be available by default on every system and may need to be compiled
or installed.
or installed and may not work with all the compression options.

**inline** = yes | no

Whether or not to pipe the output of mysqldump into the compression
utility. Enabling this is recommended since it usually only marginally
impacts performance, particularly when using a lower compression
level.

**level** = 0-9

Specify the compression ratio. The lower the number, the lower the
Specify the compression ratio. The lower the number, the lower the
compression ratio, but the faster the backup will take. Generally,
setting the lever to 1 or 2 results in favorable compression of
setting the lever to 1 or 2 results in favorable compression of
textual data and is noticeably faster than the higher levels.
Setting the level to 0 effectively disables compression.

**bin-path** = <full path to utility>

This only needs to be defined if the compression utility is not in the
usual places or not in the system path.

**options** = <string of otpions>

Pass additional options not included in the above directly to the
compression utility (e.g. ``--compress-algo=bzip2`` if using 'gpg').
File renamed without changes.
File renamed without changes.
Expand Up @@ -4,46 +4,46 @@ mysqldump LVM Provider Configuration [mysqldump-lvm]
====================================================

Backs up one or more MySQL databases by creating an LVM snapshot and
then starting a instance of MySQL on top of it to then perform a
then starting a instance of MySQL on top of it to then perform a
mysqldump. This effectively produces a non-blocking logical backup.

[mysql-lvm]
-----------

**snapshot-size** = <size-in-MB>

The size of the snapshot itself. By default it is 20% of the size of the
MySQL LVM mount or the remaining free-space in the Volume Group (if there
is less than 20% available) up to 15GB. If snapshot-size is defined, the
The size of the snapshot itself. By default it is 20% of the size of the
MySQL LVM mount or the remaining free-space in the Volume Group (if there
is less than 20% available) up to 15GB. If snapshot-size is defined, the
number represents the size of the snapshot in megabytes.

**snapshot-name** = <name>

The name of the snapshot, the default being the name of the MySQL LVM
The name of the snapshot, the default being the name of the MySQL LVM
volume + "_snapshot" (ie Storage-MySQL_snapshot)
**snapshot-mountpoint** = <path>
Where to mount the snapshot. By default a randomly generated directory

**snapshot-mountpoint** = <path>

Where to mount the snapshot. By default a randomly generated directory
under /tmp is used.

**innodb-recovery** = yes | no (default: no)

Whether or not to run an InnoDB recovery operation. This avoids needing
to do so during a restore, though will make the backup process itself
Whether or not to run an InnoDB recovery operation. This avoids needing
to do so during a restore, though will make the backup process itself
take longer.

**lock-tables** = yes | no (default: yes)

Whether or not to run a FLUSH TABLES WITH READ LOCK to grab various
bits of information (such as the binary log name and position). Disabling
this requires that binary logging is disabled and InnoDB is being used
exclusively. Otherwise, it is possible that the backup could contain
crashed tables.

**extra-flush-tables** = yes | no (default: yes)
Whether or not to run a FLUSH TABLES before running the full

Whether or not to run a FLUSH TABLES before running the full
FLUSH TABLES WITH READ LOCK. Should make the FLUSH TABLES WITH READ LOCK
operation a bit faster.

Expand Down Expand Up @@ -74,11 +74,10 @@ mysqldump-lvm supports almost all of the options from the mysqldump plugin.
--master-data is not supported, as the mysqld process will not read binary
logs, so this plugin will automatically disable bin-log-position, if set.

Binary log information from SOHW MASTER STATUS and SHOW SLAVE STATUS is
Binary log information from SHOW MASTER STATUS and SHOW SLAVE STATUS is
recorded in the ${backup_directory}/backup.conf file under the
[mysql:replication] section.

.. include:: compression.rst

.. include:: mysqlconfig.rst

0 comments on commit dd5cb17

Please sign in to comment.