Skip site navigation (1)Skip section navigation (2)
Date:      05 Dec 2002 08:54:49 +0300
From:      Akifyev Sergey <asa@gascom.ru>
To:        nkinkade@dsl-only.net
Cc:        freebsd-questions@FreeBSD.ORG
Subject:   Re: run command on logfile before it's rotated
Message-ID:  <1039067690.298.18.camel@asa.gascom.net.ru>
In-Reply-To: <20021204220240.GY467@sub21-156.member.dsl-only.net>
References:  <93B9E916-07D2-11D7-B076-0003936CEB72@garbage.dk>  <20021204220240.GY467@sub21-156.member.dsl-only.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 2002-12-05 at 01:02, Nathan Kinkade wrote:
> On Wed, Dec 04, 2002 at 10:51:43PM +0100, Thomas von Hassel wrote:
> > I've got my system set up to rotate the maillog every day at midnight. 
> > What do i do if i want to run a command on the logfile just before it's 
> > rotated ?
> > 
> > /thomas
> > --
> > Thomas von Hassel
> > DarX @ irc
> > darxmac @ AIM/iChat
> > Powered by inkwell...!
> 
> How about just setting a cron job to run some reasonable period prior 
> to newsyslog being run?

It's incorrect way to do things, because some entries could be added to
syslog _after_ the command is run, but _before_ newsyslog. Instead you
should call some script via cron with crontab entry like this:

# rotate log files every hour, if necessary
0       *       *       *       *       root	/usr/bin/lock_script.sh 

And the script must contain something like:

#!/bin/sh
for $STR in `cat /etc/newsyslog.conf |grep -v '^[:space:]*#.*$'|cut
-f1`; do
	lockf "${STR}" newsyslog.sh "${STR}"
done

The newsyslog.sh should contain:

#!/bin/sh
your_command "${1}"
newsyslog "${1}"

> Nathan
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-questions" in the body of the message
> 

Regards,
Sergey


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1039067690.298.18.camel>