Re: [BackupPC-users] Using perl code within config files
2008-12-04 01:47:06
Jeffrey J. Kosowsky wrote at about 12:03:16 -0500 on Wednesday, December 3,
2008:
> Craig Barratt wrote at about 15:21:58 -0800 on Tuesday, December 2, 2008:
> > Jeffrey writes:
> >
> > > Just as an FYI, it is possible to use perl code within config files so
> > > that you can use a single config file yet still customize
> > > configurations by pc (or groups of pc's) without having to duplicate
> > > changes across multiple relatively similar config files each time you
> > > change a parameter.
> > >
> > > For example, I have a number of windows machines and one linux server.
> > > For the windows machines, I use a single config file in
> > > /etc/BackupPC/pc and then create links to it for each of my windows
> > > machines.
> > >
> > > I then use perl conditional statements to make some configurations
> > > unique by pc (or group of pc's).
> > >
> > > The trick is that $ARGV[0] is the name of the config file (or link)
> > > called and thus can be used to determine the machine.
> > > Personally, I find this trick very helpful...
> >
> > Yes, a nice trick. But there are two caveats:
> >
>
> OK. I am stumped by something here.
> The "trick" works fine when running processes such as dump or restore.
>
> But it seems to fail when the pc config file is read when going to the
> Hosts web page. Specifically when I use the pull-down to go to one of the
> hosts
> on my list, I can confirm that the host-specific config file is being
> read. However, in that case the value of $ARGV[0] is *undef*.
>
> I am stumped because the code in HostInfo.pm (which I assume is what
> is called here) calls the same "$bpc->ConfigRead($host)" function
> which I believe uses 'do' to read in the config file. I don't see how
> the host-specific config file can be read without setting $ARGV[0]
> unless it is being done some other way elsewhere.
>
> Any thoughts here?
>
I found a solution:
Use $_[1] instead of $ARGV[0] -- it seems to work both from the cgi
call and when a dump/restore is launched.
Also $_[0] is a hashref to a 'BackupPC::Storage::Text' hash.
So in particular you can also get:
$_[0]->{TopDir}
$_[0]->{InstallDir}
$_[0]->{ConfDir}
$_[0]->{LogDir}
-------------------------------------------------------------------------
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
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
BackupPC-users mailing list
BackupPC-users AT lists.sourceforge DOT net
List: https://lists.sourceforge.net/lists/listinfo/backuppc-users
Wiki: http://backuppc.wiki.sourceforge.net
Project: http://backuppc.sourceforge.net/
|
|
|