[linux] Re: Hoe logrotate probleem onderzoeken?

Paul Slootman paul+nospam op wurtel.net
Zo mei 8 14:07:43 CEST 2005


On Sun 08 May 2005, Bram Mertens wrote:

> Vanmorgen las ik volgende melding op m'n debian testing desktop:
> -------- Forwarded Message --------
> From: Cron Daemon <root op localhost.localdomain>
> To: root op localhost.localdomain
> Subject: Cron <root op imladris> test -x /usr/sbin/anacron || run-parts
> --report /etc/cron.daily
> Date: Sun, 08 May 2005 06:40:50 +0200
> /etc/cron.daily/logrotate:
> error: error running postrotate script
> run-parts: /etc/cron.daily/logrotate exited with return code 1
> 
> Er is dus blijkbaar iets mis gegaan maar hoe kan ik uitzoeken wat?

Tja, een van de postrotate scripts ging mis.

> Als ik grep op exit in de scripts in /etc/logrotate.d/ (die door
> logrotate opgestart worden) zie ik maar een script dat een exit code 1
> geeft:
> imladris:~# grep exit /etc/logrotate.d/*
> /etc/logrotate.d/mysql-server:          test -x /usr/bin/mysqladmin || exit 0
> /etc/logrotate.d/mysql-server:              exit 1

Een shell script waarbij het laatste commando een niet-nul exit status
heeft, zorgt ervoor dat ook de script zelf met een niet-nul exit status
stopt. Controleer ook op "set -e", of "#!/bin/sh -e". Dat betekent dat
zodra een commando in de script een fout geeft, de script onmiddelijk
stopt (en ook weer niet-nul exit status geeft). Da's handig voor b.v.
zoiets:

cd /tmp/ergens
rm -r *

Het is vervelend als de cd mislukt maar de rm -r wel uitgevoerd wordt :)

> Maar ik weet niet goed of dit belangrijk is, komt die code 1 van dit
> script of van /etc/cron.daily/logrotate zelf?

Vermoedlijk beide, maar da's niet interessant. Je krijgt deze mail omdat
die cron.daily script output veroorzaakt heeft.

> Kan iemand me laten weten hoe ik de oorzaak van dit probleem kan
> achterhalen?

'n Keertje in alle logrotate script een echo zetten zodat je weet welke
bezig is als de melding verschijnt?


Paul Slootman



More information about the Linux mailing list