Fehlermeldung rsync

Hallo,

vielleicht hat jemand eine Erklärung.
Folgendes:
.
rsync -avvz --numeric-ids -e ssh --delete --delete-excluded \
        --exclude-from=$EXCLUDES $WIKISERVER:/ $BACKUP_PATH/

        exitvalue=$?

        if ! [ $exitvalue = 24 -o $exitvalue = 0 ] ; then
echo `date` $exitvalue" Fatal: rsync auf wikiserver mit Fehlern \
beendet." | mail $ADRADMIN -s "Dekiwiki-Backup fehlerhaft"
        fi
.
$WIKISERVER ist eine entfernte ip-Adresse.

Bekomme immer den Fehler 255. Laut man page gibt es diesen Fehler nicht.
Habe auch versucht die Zeile:
       if ! [ $exitvalue = 24 -o $exitvalue = 0 ] ; then
als
       if ! [ $exitvalue == 24 -o $exitvalue == 0 ] ; then
zu schreiben. Ohne Ergebnis. Übrigens, mir scheint die zweite
Schreibweise korrekter, aber ich habe die erste Zeile von einer recht
guten Seite übernommen.
Versuche in diese Richtung scheinen auf jeden Fall Gleichwertigkeit zu
bestätigen.
Google gibt auch nichts her, wenn jemand da etwas findet, dann bitte
nicht den blanken Link, sondern auch den Suchbegriff.
Gruß an alle und danke
Luigi

luigi wrote:

Habe auch versucht die Zeile:
       if ! [ $exitvalue = 24 -o $exitvalue = 0 ] ; then
als
       if ! [ $exitvalue == 24 -o $exitvalue == 0 ] ; then
zu schreiben. Ohne Ergebnis. Übrigens, mir scheint die zweite
Schreibweise korrekter, aber ich habe die erste Zeile von einer recht
guten Seite übernommen.

Hallo Luigi,

der Suchbegriff heisst "man test" (weil das kommando "[" ein alias zu
"test" ist.)

Wenn du numerische Werte vergleichen willst, musst du "-eq" verwenden, und
nicht "=", welches fuer Stringvergleiche verwendet wird. "==" ist eine
Erweiterung der bash und ist gleichbedeutend mit "=".

Fazit: probier einmal ein:
if ! [ $exitvalue -eq 24 -o $exitvalue -eq 0 ] ; then
oder
if [ $exitvalue -ne 24 -a $exitvalue -ne 0 ] ; then

Hoffe das hilft.
Thomas

Hallo Thomas,

[Unbekannter Fehler rsync]

Wenn du numerische Werte vergleichen willst, musst du "-eq"
verwenden, und nicht "=", welches fuer Stringvergleiche verwendet
wird. "==" ist eine Erweiterung der bash und ist gleichbedeutend mit
"=".

Fazit: probier einmal ein:
if ! [ $exitvalue -eq 24 -o $exitvalue -eq 0 ] ; then
oder
if [ $exitvalue -ne 24 -a $exitvalue -ne 0 ] ; then

Probiere ich gerne, danke.
Berichte dir/euch morgen
Luigi

Hallo Thomas, hallo Liste,

[Unbekannter Fehler rsync]
> Wenn du numerische Werte vergleichen willst, musst du "-eq"
> verwenden, und nicht "=", welches fuer Stringvergleiche verwendet
> wird. "==" ist eine Erweiterung der bash und ist gleichbedeutend
> mit "=".
>
> Fazit: probier einmal ein:
> if ! [ $exitvalue -eq 24 -o $exitvalue -eq 0 ] ; then
> oder
> if [ $exitvalue -ne 24 -a $exitvalue -ne 0 ] ; then

Ändert nichts. Vielleicht hat sonst noch jemand einen Tipp?

Gruß
Luigi

Folgendes Script funktioniert bei mir anscheinend richtig

Andrä

#!/bin/bash

for I in 0 1 24 25
do

exitvalue=$I;

echo " "
echo "exitvalue: $exitvalue"
if ! [ $exitvalue -eq 24 -o $exitvalue -eq 0 ];
then
    echo "Exitvalue ist weder 0 noch 24 sondern $exitvalue (mit -o)"
else
    echo "Exitvalue ist $exitvalue (mit -o)"
fi

if [ $exitvalue -ne 24 -a $exitvalue -ne 0 ];
then
    echo "Exitvalue ist nicht 0 und nicht 24 sondern $exitvalue (mit -a)"
else
    echo "Exitvalue ist $exitvalue (mit -a) "
fi

if [ $exitvalue -ne 24 ] && [ $exitvalue -ne 0 ];
then
    echo "Exitvalue ist nicht 0 und nicht 24 sondern $exitvalue (mit &&)"
else
    echo "Exitvalue ist $exitvalue (mit &&)"
fi

done

Hallo Andrä,

[rsync Fehlermeldung]
Ich glaube nicht, dass der Fehler bei der Auswertung zu suchen ist.
Ich habe seinerzeit ein paar Versuche in diese Richtung gemacht und, so
ich nicht anderswo noch einen Fehler hatte, schien das ja auch richtig
zu funktionieren.
Der "Fehler" ist eigentlich der Rückgabewert von rsync.
Die man-page von rsync listet die möglichen Rückgabewerte und da ist 255
einfach nicht dabei.
Wie bereits angemerkt hatte, finden sich im Netz schon Anhaltspunkte
diesbezüglich, nur keine Lösungen.
Übrigens, es scheint so als ob alles kopiert würde, habe es aber nicht
gründlich untersucht.
Danke und schöne Grüße an alle
Luigi