Amanda::Curinfo - Perl extension for representing the curinfo database
use Amanda::Curinfo; use Amanda::Curinfo::Info;
...
my $ci = Amanda::Curinfo->new($somedir); my $info = $ci->get_info($host, $disk);
...
$ci->put_info($host, $disk, $newinfo);
...
$ci->del_info($oldhost, $olddisk);
Amanda::Curinfo
is a pure perl implementation of the older infofile
libraries.
This package manages a directory of files, referred to in the code as
an $infodir
, that contain dump data. Each of these files is stored
in a nested directory structure by its host and disk name. These
files can be accessed and modified using the provided functions with
the help of the Amanda::Curinfo::Info class.
Note that this terminology is slightly different from the older infofile.h implementation. Users with no experience with infofile.h can skip to the interface section.
In the API for infofile.h, the term infofile
actually refers a
directory. This directory is called an infodir
within the
infofile.c code. This directory held text files, which are referred
to as both infofile
and txinfofile
internally to infofile.c.
This rewrite simplifies the terminology by referring to the storage
directory as an $infodir
and an individual data-storing file as a
$infofile
.
Amanda::Curinfo
is an interface to retrieve and store info files
regarding the backup history of DLEs.
Amanda::Curinfo
provides three major routines for handling info
file data.
The Amanda::Curinfo
constructor is pretty straightforward:
my $ci = Amanda::Curinfo->new($infodir);
Where $infodir
is a directory. In order to retrieve a previously
stored info file if the host and disk are known, one can use
my $info = $ci->get_info($host, $disk);
Once the structure has been updated, it may be re-written to the database in a similar fashion:
$ci->put_info($host, $disk, $info);
If one would like to erase an existing info entry in an infodir, the usage is the same as retrieving an info object.
$ci->del_info($host, $disk);
To create a new info object, please see the documentation for Amanda::Curinfo::Info.
This module is meant to replicate the behavior of the library described in server-src/infofile.h. If anyone notices any major problems, please report them.
Paul C. Mantz <[email protected]>
This page was automatically generated Tue Oct 4 19:45:36 2016 from the Amanda source tree, and documents the most recent development version of Amanda. For documentation specific to the version of Amanda on your system, use the 'perldoc' command.