Re: storeBackup, cron.daily und sh
Hallo Martin,
On Fri, Jan 07, 2005 at 03:46:29PM +0100, Martin Schmitz wrote:
> ich versuche gerade, mich ein wenig mit storeBackup vertraut zu machen.
> Dazu habe ich ein paar Konfigurationsdateien nach /etc/storebackup.d/
> kopiert. Über /etc/cron.daily/storebackup werden nun täglich Sicherungen
> angelegt. Soweit so gut.
> Allerdings erhalte ich in der Mail von cron.daily immer den Hinweis:
> run-parts: /etc/cron.daily/storebackup exited with return code 1
> Also habe ich /etc/cron.daily/storebackup mal ein wenig genauer unter
> die Lupe genommen (hier nur der relevante Teil):
>
> | 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 glaube der Skriptschreiber ist ein
passionierter C-Programmierer und hat etwas zu "kompakt" programmiert.
:-)
> | 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. '[ $delayed_error ]' ist
> immer wahr, auch wenn $delayed_error 0 ist. Selbst, wenn der Test
> funktionieren würde, also $delayed_error=0 falsch liefern würde, wäre
> der return code 1, da der letzt Test gescheitert wäre.
>
> Müßte das also nicht vielmehr so aussehen?
>
> [ $delayed_error -eq 1 ] && exit 1;
> exit 0;
Das ist vom Stil her wieder das selbe wie oben: zu kompakt für die BASH
bzw. die /bin/sh (das selbe Fehlverhalten).
> Hoffentlich kann mich hier jemand etwas erhellen. Oder soll ich einen
> Bug-Report schreiben?
Das Erstere habe ich hoffentlich getan, das Letztgenannte sollte noch
geschehen.
MFG,
Rainer
Reply to: