mysqldump mit statusmeldung
mysqldump mit statusmeldung
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
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
Re: mysqldump mit statusmeldung
Normal sollte es reichen, wenn du den Exit-Code von mysqldump abfrägst.
Bei Erfolg ist der Exit-Code normal 0. Damit kann man auch sowas machen:
Code: Alles auswählen
mysqldump foo
echo $?
2
Code: Alles auswählen
mysqldump ... && echo "Dump erfolgreich abgeschlossen"
Re: mysqldump mit statusmeldung
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
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
Re: mysqldump mit statusmeldung
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.
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.
Re: mysqldump mit statusmeldung
@nepos
mist - das mit dem zip hatte ich nicht beachtte.
gibt es eine möglichkeit wie ich das ändern kann ?
lg
bit
mist - das mit dem zip hatte ich nicht beachtte.
gibt es eine möglichkeit wie ich das ändern kann ?
lg
bit
Re: mysqldump mit statusmeldung
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:
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]
Re: mysqldump mit statusmeldung
@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
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
- habakug
- Moderator
- Beiträge: 4314
- Registriert: 23.10.2004 13:08:41
- Lizenz eigener Beiträge: MIT Lizenz
Re: mysqldump mit statusmeldung
Hallo!
Vielleicht irgendwie so:
Gruß, habakug
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