[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [cobalt-users] maillock errors... only rebooting fixes it as of right now.
- Subject: RE: [cobalt-users] maillock errors... only rebooting fixes it as of right now.
- From: "Clark E. Morgan" <prlhkr@xxxxxxxxxxxxx>
- Date: Mon Oct 29 16:12:34 2001
- List-id: Mailing list for users to share thoughts on Cobalt products. <cobalt-users.list.cobalt.com>
> reboot. The filesystems are not full or even close. The only solutions I
> can find in the archives are to remove the .pop files. Which I have done
> buy to no avail. Any ideas?
>
> 4: '/var/spool/mail/q3net'
> Oct 29 11:16:27 cobalt6 in.qpopper[5149]: q3net at
> slkcdslgw4poolB110.slkc.uswest.net (63.230.17.110): -ERR
> [SYS/TEMP] maillock
> error
Allan,
This is generally indicative of an interrupted or abnormally terminated pop
session. Connection may be dropped for any number of reasons between the RaQ
and the client. You'll have to review these occurrences for similarities,
the most glaringly obvious being that they are all coming from uswest.net.
Maybe all your clients and your raq are on uswest as well, in which case
that info is of little value and it would then be as likely your problem as
theirs; but always blame it on the other guy if you can (and if its true).
I see this too, though far less frequently, and wrote and run the following
bit of perl as a cron job to address the issue. It periodically checks for
and deletes stale lock files. You may need to edit it for your config; but
it's pretty self explanatory. It's only a band aid when there is clearly a
larger issue involved and I encourage to chase down the angle I mentioned
above - but it should buy you some time and alleviate a few headaches. Hope
it helps.
Clark E.
---------------------------------------------
#!/usr/bin/perl
# By Clark Morgan 1998 for MeetingCast
# Pop Lock non-arbitrary file cleanup
# Arbitrary files are covered by lock_kill.pm
# Crond every 10 minutes recommended
# No warranty expressed or implied
# Enter the age a file needs to be in minutes before strip_lock
# sends it to hell, suggested entry provided
$timeout = '1';
# enter a space separated list of directories for strip_lock to
# to process, suggested uses provided, omit trailing /
@dirs = qw (
/projects/perl/striplock/testdir3
/projects/perl/striplock/testdir2
);
# How many directories are in the above list, you can manually set this if
you want
$numdirs = scalar(@dirs);
# Shouldn't need to set anything below this line;
$i = 0; # set a counter for the
directory array
while ($i < $numdirs) {
$fudir = $dirs[$i];
opendir(BIN, $fudir) || warn "Couldn't open $fudir so skipping
(Permissions?)...\n";
while ( defined ($file = readdir BIN) ) {
next if $file =~ /^\.\.?$/; # ignore ., .., and hidden
$cfile = "$fudir\/$file"; # prepend the path
$wtime = (stat($cfile))[9]; # get the last write time
$ntime = time(); # get the current time
$diff = $ntime - $wtime; # get the difference
$standard = $timeout * 60; # calculate the standard
if ($diff < $standard) {
print "$cfile\nThis file is within acceptible time parameters,
skipping...\n";
} else {
print "$cfile\nThis is one old file, its gotta go\n";
unlink ("$cfile") || warn "Couldn't delete $file so skipping...\n";
}
}
print "All finished with $fudir\n";
$i++;
closedir(BIN);
}
print "All your files and directories processed, exiting...\n";