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>
index | next in thread | previous in thread | raw e-mail
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
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1039067690.298.18.camel>
