ich führe mit Hilfe von "mysqldump" relgelmäßig ein Datenbank Backup durch. Hierbei prüfe ich zudem über den stderr Stream ob ein Fehler passiert ist (zB wenn der MySQL Server down ist) und schreibe die Error Message in eine tmp Datei.
Nun will ich zusätzlich, bei einem erfolgreich ausgeführten dump, die Backupdatei mit gzip komprimieren. Es klappt auch soweit alles, solange kein Fehler passiert. Wenn ich den MySQL Server abschalte und den Dump ausführe schreibt der mit eine leere gz Datei. Eigentlich soll hier überhaupt keine gz Datei erstellt werden sondern nur der Fehler in die tmp Datei geschrieben werden.
Weiß jemand wie man nach dem stderr Stream (also bei einem Fehler) alles ab dem pipe abbricht so das keine gz Datei geschrieben wird und nur die tmp Datei mit der Error Message erstellt wird?
Code: Alles auswählen
mysqldump -h "localhost" -u "root" --password="" "mydatabase" 2> "/path/errDE35.tmp" | gzip -9 > "/path/dump-db.sql.gz"