[ic] expireall not finding config file
Dave Barr
barrd@mac.com
Wed, 25 Apr 2001 15:00:52 +0100
At 22:50 -0400 24/4/01, Mike Heins wrote:
>Quoting Dave Barr (barrd@mac.com):
> > (IC 4.6.5, Debian 2.2.17, Perl 5.005-03)
> > I realised the other day that my cron job set to expire catalog
>> sessions was no longer working (the sessions dir was getting _BIG_):
>>
>> [snip crontab -l]
> > 45 4 * * * /usr/local/interchange/bin/expireall -r
>> [/snip]
>>
> > If run from the command line the script returns:
> > Couldn't read interchange.cfg: No such file or directory
> >
>> I had a quick scan of the script itself and noticed that you could
>> use the -f flag to point directly at a config file, I used the
>> following on the command line and it worked...
>>
>> /usr/local/interchange/bin/expireall -f
>>/usr/local/interchange/interchange.cfg
>>
>> [snip expireall line 103]
>> open(GLOBAL, "< $Global::ConfigFile") or die "Couldn't read
>> $Global::ConfigFile: $!\n";
>> [/snip]
>>
>> The above makes the call to open the config file, but, and correct me
>> if I'm wrong... ;) Should it not be something like:
>>
>> open(FOO, "< $Global::VendRoot/$Global::ConfigFile") or die "blah $!\n";
>> ^^^^^^^^^^^^^^^^^^
>> Which would be the 'path to' and the 'name of' the config file?
>> I dunno... I'm probably wrong as usual... :)
>
>I don't see a problem there.
>
>I think what you want, though, is
>
>45 4 * * * /usr/local/interchange/bin/expireall -r -u
>
>which will force unlinking of expired files.
[..snip..]
Thanks for the reply Mike,
I believe there may be something wrong with my system ;) the script
(expireall) has always worked "as is" until the last couple of
months. I've been involved with a great deal of experimentation and
have probably "screwed up" somewhere down the line. However, in case
anyone reads this as a thread, I'll add that your suggestion is not
strictly correct for 'expireall' but its brother 'expire'.
Both examples below work if run from the command line:
/usr/local/interchange/bin/expire -r -u -c _shop_name_
/usr/local/interchange/bin/expireall -f /usr/local/interchange/interchange.cfg
However, again from the command line (on my system):
/usr/local/interchange/bin/expireall -r
Produces the error "Couldn't read interchange.cfg: No such file or directory".
So I have added 1 line per shop in my crontab like so;
45 4 * * * /usr/local/interchange/bin/expire -r -u -c _shop_name_
And all is well... 8-)
Again, thanks, and 4.7 is looking goooooood ;)
"D"