Prepare scripts

ArchiCOW supports a method of preparing the source location for backup allowing for a backup job to execute a script on the remote server which prepares the data for backup and passes back a path to the prepared data.

This setup can be used for example for creating snapshots of volumes, dumping database contents before backup, etc.

The script, specified by prepare_script configuration parameter, is called through SSH on the remote host, with command line argument PREPARE followed by value of source_path. Standard output of the script is read back as the new value for source_path parameter used for the backup process.

After the backup (succesful or not) the script is called with an argument CLEANUP followed by the original source_path value. However in case of abrupt termination of the backup process the CLEANUP call may not get through.

The synopsis for calling the scripts is as follows:

prepare_script ("PREPARE" | "CLEANUP") source_path

The script should print just one line on standard output, which will be used as a value for source_path.

In case of error, the script should terminate with non-zero exit code, printing error description on standard error.

Scripts included in ArchiCOW distribution are covered in following sections.

Mount bind – prepare_mountbind.sh

Bind-mount (mount -o bind) the source filesystem to another path before backup. This may be needed mostly for the root filesystem to get a clean view, without other filesystems mounted over it.

Expects source_path value with these components, separated by spaces:

ORIGPATH NEWPATH
ORIGPATH
The original mount moint.
NEWPATH
New mount point to bind-mount to.

LVM snapshot – prepare_lvmsnap.sh

Create a snapshot of LVM volume for consistency before backup. The snapshot will be mounted to a new directory under /mnt/archicow/ and it’s path will be returned.

Expects source_path value with three components, separated by spaces:

VG LV MAX_PE
VG
Volume group name.
LV
Logical volume name.
MAX_PE
Maximum size of the snapshot, in physical extents. The actual size will be limited by free space in the volume group.

Table Of Contents

Previous topic

Storage modules

This Page