Howdy.  I'm using the %C expansion (DNS name of NAS unit) as part of my
AcctLogFileName (AcctLogFileName %L/%C/detail).  When I restart my name
server at 3am each day (to clear out bad cached answers, etc.) any logs I
take in those few seconds during restart cause the expansion to fail -
hence everything ends up in the same detail file.  I'm trying to make a
change to to work around that.  Here is what I've inserted
around line 390 or so in

## New Stuff.  Trying to deal with the 3am DNS restart
                if ( $filename eq "/usr/adm/radacct//detail" ) {
                        sleep 60;
                        my $filename =
                                &main::format_special($acctFileName, $p);
                if ( $filename eq "/usr/adm/radacct//detail" ) {
                        $acctFileName = "/usr/adm/radacct/\%N/detail";
                        my $filename =
                                &main::format_special($acctFileName, $p);
## End New Stuff

Basically it looks to see if the returned filename is missing the %C
expansion.  If so, it sleeps for 60 seconds and tries again.  If that
failed then I'm guessing I forgot to put that NAS unit in DNS or the
nameserver still isn't accepting queries.  If that is the case then I
change the expansion to be %N (the NAS units IP address.)  This should
allow me to have a good detail file for each unit during that time period
and I can also spot any units that may not be DNS as they'd have an IP
address for the directory name.  My two questions are this:

1.  Will this code work?  I'm mostly concerned about the \%N I put in
    there - I'm assuming the \ is necessary to avoid errors.  Also,
    is that the match I should be looking for to see that %C has failed?

2.  Does the 'sleep' basically "vapor lock" radiator during that time
    period or is a new invocation of run for each incoming
    request?  It is only 60 seconds, but if I do fail to put a unit in
    DNS I don't wait to hold up everything for every request I take from
    that unit during the busy times.

I could always use the %N from the start and avoid this problem, but
with 350 units logging it does make it MUCH easier to find something
specific if the need arises.  Thanks in advance.

Aaron Holtz
ComNet Inc.
UNIX Systems Specialist
"It's not broken, it just lacks duct tape."

To unsubscribe, email '[EMAIL PROTECTED]' with
'unsubscribe radiator' in the body of the message.

Reply via email to