[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: storeBackup, cron.daily und sh



Rainer Hirsel schrieb:
> On Fri, Jan 07, 2005 at 03:46:29PM +0100, Martin Schmitz wrote:
>> | configs=`run-parts --list /etc/storebackup.d/`
>> | tmplog=`mktemp`
>> | delayed_error=0
>> |
>> | if [ -x /usr/bin/storeBackup -a "$configs" ]; then
> 
> Hier liegt m.E. schon der erste Fehler: -a ist nur die Verknüpfung
> zweier Bedingungen (UND bzw. AND) der "run-parts" weiter oben liefert
> eine Liste von Dateien, wenn das mehr als eine ist kommt der nächste
> Fehler (too many arguments).

Ich vermute, "", also der leere string, liefert false, "foobar ..."
liefert true. Scheint zu funktionieren.

>> |     for file in $configs
>> |     do
>> |         if ! nice storeBackup -f "$file" > "$tmplog" 2>&1
>> |         then
>> |             cat "$tmplog" >&2
>> |             delayed_error=1
>> |         fi
>> |     done
>> |
>> |     [ $delayed_error ] && exit 1;
>> |     ^^^^^^^^^^^^^^^^^^
>> | fi
>> 
>> Nun, nach ausgiebigen Tests bin ich zu dem Ergebnis gekommen, daß das
>> Skript *immer* einen return code von 1 liefert.

Ich hab' das Skript mal absichtlich stehen lassen. Die Sache hat sich
inzwischen erledigt, ich hatte noch eine alte Version von storebackup
auf der Platte, bei der neuen Version in sarge hat der Maintainer das
gefixt. Ich hätte ja einfach die Zeile mit dem exit ersetzt durch
'exit $delayed_error ;', aber der Autor hat sich entschieden, das
Problem zu umgehen, indem er oben mit $delayed_error='' der Variablen
eben *keinen* Anfangswert zuweist. ;-)

Martin



Reply to: