[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bacula-devel] Question on bpipe

On Thursday 09 October 2008 01:28:40 David Boyes wrote:
> Reading through the new features list, I like the bpipe stuff, but I
> have some questions:
> It looks like there can be only one object name in the Plugin directive
> line, and that it is fixed for each Plugin. 

Well, you might want to read the plugin API, which though a bit sketchy will 
give you a much better idea of what can be done.

The answer to the above is for bpipe, you can have only one object name, and 
backup only one file, but another plugin can do anything it wants -- the 
plugin directive line after the name of the plugin is defined by the plugin.

> Further, it looks like the Plugin is called only once per fileset. 

This is hard to answer.  The plugin is "logically" called once for each 
FileSet, by that I mean that it is told to do its work once, but each time it 
is called, there are a series of calls to it, which inform it what it going 
on.  These "command plugins" are meant to work much like the File command, so 
they are deeply integrated into the Bacula backup/restore procedures.  

If you have multiple Plugin lines (like multiple File = lines) the plugin will 
be requested to backup multiple times -- each time involving a whole series 
of calls.

> Are those assumptions correct? 

Mostly incorrrect I would say.

> If so, is there any way to have the plugin generate the object name, eg
> be able to pass a regexp in as the name, and have the plugin resolve
> what and how many things should match that pattern and pass them back,
> one at a time, separated in some way?

Yes.  The plugin can create as many objects of any kind that already exist as 
it wants.  The objects can be virtual -- i.e. have no correspondence to 
filesystem object names, or they can be real filesystem objects.  In 
addition, although the plugin is restricted to creating current objects 
(directory, file, ...), it can (mostly not a good idea) use those objects any 
way it wants -- that is they can contain any kind of data the plugin wants.  
Doing so however, means that it is impossible for Bacula to restore the 
object if the plugin is not there.

This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
Bacula-devel mailing list

This mailing list archive is a service of Copilotco.