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 Mar 19 07:08:15 2019 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.