Hallo,
kann mir zufällig jemand einen Tip geben, wie ich es unterbinden kann, dass der Aufruf (aus dem cron heraus) des Befehles
mysqldump --opt --complete-insert --host=localhost --user=username --password=secure datenbank | gzip > /sqldump/dump.sql.gz
eine Nachricht an root sendet, in der er die Tables auflistet, die kein OPTIMIZE unterstützen? Dazu würde ich ungerne eine Liste der mit OPTIMIZE funktionierenden Tabellen von Hand übergeben müssen, da das jedesmal Pflegeaufwand bedeutet, wenn eine neue Table hinzukommt oder eine bestehende gelöscht/umbenannt wird...
Danke für jeden Tip im Voraus
Grüsse, Punga
mysqldump Output an root unterbinden?
Re: mysqldump Output an root unterbinden?
Hi Punga,
ich vermute, das Problem ist, daß diese Warnungen nicht auf STDOUT sondern auf STDERR ausgegeben werden. Daher landen sie nicht im Gzip sondern quasi auf der Konsole, beim einem cron-job also in der Mail.
Mit dem Pipe-Symbol "|" leitest Du nämlich nur STDOUT an das Gzip-Programm weiter, nicht STDERR. Wenn Du das Kommando auf dem Prompt ausführst, wirst Du sehen, daß zwar die gz-Datei erstellt wird, gleichzeitig werden Dir aber die Warnungen am Bildschirm angezeigt.
Lösung:
Leite STDERR nach /dev/null um oder wahlweise auch auf STDOUT, so daß es mit ins Gzip läuft.
Ab ins Gzip:
Ab ins Nichts:
Weitere Infos zum Thema Redirection gibt es unter "man bash". Viel Spaß!
Pollux
ich vermute, das Problem ist, daß diese Warnungen nicht auf STDOUT sondern auf STDERR ausgegeben werden. Daher landen sie nicht im Gzip sondern quasi auf der Konsole, beim einem cron-job also in der Mail.
Mit dem Pipe-Symbol "|" leitest Du nämlich nur STDOUT an das Gzip-Programm weiter, nicht STDERR. Wenn Du das Kommando auf dem Prompt ausführst, wirst Du sehen, daß zwar die gz-Datei erstellt wird, gleichzeitig werden Dir aber die Warnungen am Bildschirm angezeigt.
Lösung:
Leite STDERR nach /dev/null um oder wahlweise auch auf STDOUT, so daß es mit ins Gzip läuft.
Ab ins Gzip:
Code: Select all
mysqldump --opt --complete-insert --host=localhost --user=username --password=secure datenbank 2>&1 | gzip > /sqldump/dump.sql.gz
Code: Select all
mysqldump --opt --complete-insert --host=localhost --user=username --password=secure datenbank 2>/dev/null | gzip > /sqldump/dump.sql.gz
Pollux
Re: mysqldump Output an root unterbinden?
Hi Pollux,
vielen Dank für den Tip, hatte ich so gar nicht bedacht... werde es gleich mal ausprobieren :-)
Thx, Punga
vielen Dank für den Tip, hatte ich so gar nicht bedacht... werde es gleich mal ausprobieren :-)
Thx, Punga