mysqldump mit statusmeldung

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
bitwicht
Beiträge: 48
Registriert: 22.07.2007 14:02:30

mysqldump mit statusmeldung

Beitrag von bitwicht » 21.11.2008 12:58:39

Hallo,

würde gern bei einemmysqldum eine statusmeldung erhalten ob dieser ok oder bad ist.

aktuell bekomme ich in der konsole eine meldung wenn es ein problem gab oder eben keine meldung ein ein file wurde erstellt dann weiß ich das er durchgelaufen ist.

weiß jemand ob es eine möglichkeit ev. parameter gibt das ich zum schluss eine statusmeldung bekomme die ich dann automatisiert weiterverarbeiten kann ?

lg
bit

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Re: mysqldump mit statusmeldung

Beitrag von nepos » 21.11.2008 13:30:18

Normal sollte es reichen, wenn du den Exit-Code von mysqldump abfrägst.

Code: Alles auswählen

mysqldump foo
echo $?
2
Bei Erfolg ist der Exit-Code normal 0. Damit kann man auch sowas machen:

Code: Alles auswählen

mysqldump ... && echo "Dump erfolgreich abgeschlossen"

bitwicht
Beiträge: 48
Registriert: 22.07.2007 14:02:30

Re: mysqldump mit statusmeldung

Beitrag von bitwicht » 21.11.2008 13:49:47

hallo nepos,

danke sowas habe ich gesucht.

das heißt mein script müsste so aussehen:

mysqldump --user=$DBUSER --password=$DBPASS $DBNAME | gzip > $BACKUPDIR/$DBNAME_$DATE.gz
STATUS="echo $?"
echo "$STATUS"

somit müsste dann doch der status vom mysqldump in der variablen STATUS stehen oder ?

lg
bit

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Re: mysqldump mit statusmeldung

Beitrag von nepos » 21.11.2008 14:49:08

Nein, leider nicht. Erstens: STATUS="echo $?" ist totaler Käse. Wenn dann STATUS=$?.
Dann hast du da denke ich aber noch ein ganz anderes Problem: bei deinem Aufruf ist $? IMHO nicht der Exit-Code von mysqldump sondern von gzip.

bitwicht
Beiträge: 48
Registriert: 22.07.2007 14:02:30

Re: mysqldump mit statusmeldung

Beitrag von bitwicht » 21.11.2008 14:58:36

@nepos

mist - das mit dem zip hatte ich nicht beachtte.

gibt es eine möglichkeit wie ich das ändern kann ?

lg
bit

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Re: mysqldump mit statusmeldung

Beitrag von nepos » 21.11.2008 16:21:50

Soweit ich das sehe, hat die Bash dafür was spezielles:
http://tldp.org/LDP/abs/html/internalvariables.html, Stichwort $PIPESTATUS.
In deinem Fall wäre wohl der Exit-Code von mysqldump so zu bekommen:

Code: Alles auswählen

mysqldump --user=$DBUSER --password=$DBPASS $DBNAME | gzip > $BACKUPDIR/$DBNAME_$DATE.gz
echo $PIPESTATUS[0]

bitwicht
Beiträge: 48
Registriert: 22.07.2007 14:02:30

Re: mysqldump mit statusmeldung

Beitrag von bitwicht » 21.11.2008 16:40:57

@nepos

danke.

habe das mal getestet
mysqldump --user=$DBUSER --password=$DBPASS $DBNAME | gzip > $BACKUPDIR/$DBNAME_$DATE.gz
echo $PIPESTATUS[0]

ich erhalte: 0[0]

die frage ist nun ob die erste 0 vom dump oder vom gzip komt

Benutzeravatar
habakug
Moderator
Beiträge: 4314
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: mysqldump mit statusmeldung

Beitrag von habakug » 21.11.2008 17:33:45

Hallo!

Vielleicht irgendwie so:

Code: Alles auswählen

mysqldump --user=$DBUSER --password=$DBPASS $DBNAME 2>/tmp/fehler | gzip > $BACKUPDIR/$DBNAM$
if ( test -s /tmp/fehler )
then echo Es ist ein Fehler aufgetreten.
else echo Datenbank erfolgreich gesichert.
fi
rm /tmp/fehler
Gruß, habakug
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

Antworten