
Ale Winzer schrieb: Hallo, ich möchte gern den Inhalt eines Verzeichnisses mit relativen Pfaden mittels tar sichern. Ich habe selbst schon etwas rumgesucht und den Schalter -C als möglichen Heilsbringer identifiziert. Allerdings klappt es nicht so, wie es soll. Wenn ich folgendes eingebe, sieht das am Ende so aus: tar -C /srv/mysql/ -zPcvf /srv/mysql/.backup/test.tar * Hallo Alex, ich versuche normalerweise nach dem Schema tar -cf Datei -C /irgendwo -r . d.h. tar sichert ab dem Verzeichnis . rekursiv. Das sollte auch für mysql so ähnlich passen (Berechtigungen, Datum beibehalten?) Viele Grüsse Wolfgang Hamann -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

Am 17.12.2013 13:09, schrieb hamann.w@t-online.de:
Hallo OP, geht jetzt an Deiner ursprünglichen Frage vorbei, und ich will mich auch nicht "einmischen". Aber ... Bist Du sicher dass Du mysql's interne Dateien auf diese Art sichern willst? Ich hätte dabei kein gutes Gefühl. Meine DB backups mache ich regelmäßig (cron) mit mysqldump Damit bekomme ich einen "sicher konsistenten" Stand. Und nachdem das Ergebnis eine sql Datei ist (Text) lässt sie sich auch unglaublich gut packen / zippen / was auch immer. Meine 2 Cent.. Grüße Norbert -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

Hallo, On 18.12.2013 10:13, Norbert Zawodsky wrote:
Das weiß ich zu schätzen und habe mir mysqldump auch gleich mal angesehen. Ich habe aber ein Problem damit, das Passwort an mysqldump zu liefern. Wenn ich das aufrufen lassen, muss ich es irgendwo im Klartext zu stehen haben. Auch in my.cnf (über Suchmaschine gefunden) würde es im Klartext stehen. Wie löst man das Problem? Alternativ könnte man auch darüber nachdenken, folgendes zu machen: systemctl stop mysql sync [... das eigentliche Backup] systemctl start mysql Gruß, Alex -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

Am 18.12.2013 11:35, schrieb Alex Winzer:
Allerdings habe ich es, wie gesagt, in einem cron-job stehen. Und dieses script (/usr/lib/cron/backup_mysql) kann zumindest nur root lesen (owner root, mode 700). Und root vertraue ich ein wenig ;-) Ich habe allerdings im mysql einen eigenen "backup-user" angelegt, der auf die betreffenden Datenbanken ausschließlich Leserechte hat, also zumindest nichts "zerstören" kann. Norbert -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

Hallo Norbert, On 18.12.2013 11:53, Norbert Zawodsky wrote:
<OT>
Das ist auch bei mir so.
Das werde ich auch tun, nachdem ich an der Methode einen Narren gefressen habe: Die 1:1-Sicherung der Dateien braucht pro Tag aktuell 24 MB. Mit mysqldump sind es bloß noch ca. 7 MB und wenn ich das noch dem tar übergebe, werden daraus lächerliche 700 KB und in einer einzigen, lesbaren Datei ganz übersichtlich ist es auch noch. Einfach genial! Danke sagt Alex </OT> Habe es trotzdem wegen der Vollständigkeit wieder an die Liste geschickt ;-) -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

Am 18.12.2013 11:35, schrieb Alex Winzer:
Hi, ich weiß nicht, wie das bei mysql läuft, weil ich postgreSQL nutze. Aber ich könnte mir vorstellen, dass es da auch geht: Als root kann ich pg_dump -U <user> <database> aufrufen, ohne nach einem Passwort gefragt zu werden; ich habe gesehen, dass mysqldump auch eine Option -u (--user=) hat, ich nehme an, dass der Mechanismus ähnlich ist... d.h., wenn Dein Backupscript als root läuft, muss nirgends ein Passwort stehen... cu jth -- www.teddylinx.de -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

Hallo, On 18.12.2013 14:21, Joerg Thuemmler wrote:
Ist leider _bei mir_ nicht so. Ich habe es gerade ausprobiert. Das "bei mir" habe ich bewusst unterstrichen, weil mysqldump auch sonst nicht so arbeitet wie es sollte und das evtl. nur bei mir der Fall ist. Wie bereits aus dem geänderten Subjekt ersichtlich ist, ging ich davon aus, dass mysqldump mit dem Schalter --all-databases alles Datenbanken und alle Tabellen sichert - das volle Programm eben. So steht es z.B. auch hier [1]. Leider scheint das nicht der Fall zu sein. Bevor ich mich auf ein Backup verlasse, test ich die Widerherstellung. Dabei habe gemerkt, dass mysqldump _bei mir_ nur die erste Datenbak sichert. Dort zwar alle Tabellen aber es fehlen die restlichen 4 Datenbanken. Username und Passwort sind für alle DB/Tabellen gleich. Mein vollständiger Befehl dazu sieht so aus: mysqldump --all-databases --lock-all-tables -u$username -p$password > $dumpfile Was mache ich jetzt schon wieder verkehrt? Gruß, Alex [1] http://griessmeier.de/linux/mysql_backup.htm -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

Ich nehme die Frage zurück und hoffe, es hat noch niemand seinen wertvollen Hirnschmalz vergeudet. Eine Tabelle ist kaputt bzw. fehlt. Da kommt mysqldump nicht drüber hinweg. Mit --force klappt auch das. Entschuldigung! On 18.12.2013 14:46, Alex Winzer wrote:

Hallo Alex, auch wenn es jetzt nicht mehr ganz passt: Ich habe zur Sicherung zwei *.sh-dateien hier abgelegt: alle_dbs.sh ------------- #!/bin/bash MYSQL_PWD="passwort" mysqldump -u username -l --all-databases > /home/username/Dokumente/datenbanken_save/datenbanken.$(date "+%y%m%d-%H%M").sql -------------- einzelne_dbs.sh ------------- #!/bin/bash MYSQL_PWD="passwort" mysqldump -u username -l db1 > /home/username/Dokumente/datenbanken_save/db1.$(date "+%y%m%d-%H%M").sql; MYSQL_PWD="passwort" mysqldump -u username -l db2 > /home/username/Dokumente/datenbanken_save/db2.$(date "+%y%m%d-%H%M").sql; ----------- Da sichere ich dann recht regelmäßig meine DBs und ziehe die anschließend noch auf die externe Platte. Gruß Robert -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

Am 17.12.2013 13:09, schrieb hamann.w@t-online.de:
Hallo OP, geht jetzt an Deiner ursprünglichen Frage vorbei, und ich will mich auch nicht "einmischen". Aber ... Bist Du sicher dass Du mysql's interne Dateien auf diese Art sichern willst? Ich hätte dabei kein gutes Gefühl. Meine DB backups mache ich regelmäßig (cron) mit mysqldump Damit bekomme ich einen "sicher konsistenten" Stand. Und nachdem das Ergebnis eine sql Datei ist (Text) lässt sie sich auch unglaublich gut packen / zippen / was auch immer. Meine 2 Cent.. Grüße Norbert -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

Hallo, On 18.12.2013 10:13, Norbert Zawodsky wrote:
Das weiß ich zu schätzen und habe mir mysqldump auch gleich mal angesehen. Ich habe aber ein Problem damit, das Passwort an mysqldump zu liefern. Wenn ich das aufrufen lassen, muss ich es irgendwo im Klartext zu stehen haben. Auch in my.cnf (über Suchmaschine gefunden) würde es im Klartext stehen. Wie löst man das Problem? Alternativ könnte man auch darüber nachdenken, folgendes zu machen: systemctl stop mysql sync [... das eigentliche Backup] systemctl start mysql Gruß, Alex -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

Am 18.12.2013 11:35, schrieb Alex Winzer:
Allerdings habe ich es, wie gesagt, in einem cron-job stehen. Und dieses script (/usr/lib/cron/backup_mysql) kann zumindest nur root lesen (owner root, mode 700). Und root vertraue ich ein wenig ;-) Ich habe allerdings im mysql einen eigenen "backup-user" angelegt, der auf die betreffenden Datenbanken ausschließlich Leserechte hat, also zumindest nichts "zerstören" kann. Norbert -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

Hallo Norbert, On 18.12.2013 11:53, Norbert Zawodsky wrote:
<OT>
Das ist auch bei mir so.
Das werde ich auch tun, nachdem ich an der Methode einen Narren gefressen habe: Die 1:1-Sicherung der Dateien braucht pro Tag aktuell 24 MB. Mit mysqldump sind es bloß noch ca. 7 MB und wenn ich das noch dem tar übergebe, werden daraus lächerliche 700 KB und in einer einzigen, lesbaren Datei ganz übersichtlich ist es auch noch. Einfach genial! Danke sagt Alex </OT> Habe es trotzdem wegen der Vollständigkeit wieder an die Liste geschickt ;-) -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

Am 18.12.2013 11:35, schrieb Alex Winzer:
Hi, ich weiß nicht, wie das bei mysql läuft, weil ich postgreSQL nutze. Aber ich könnte mir vorstellen, dass es da auch geht: Als root kann ich pg_dump -U <user> <database> aufrufen, ohne nach einem Passwort gefragt zu werden; ich habe gesehen, dass mysqldump auch eine Option -u (--user=) hat, ich nehme an, dass der Mechanismus ähnlich ist... d.h., wenn Dein Backupscript als root läuft, muss nirgends ein Passwort stehen... cu jth -- www.teddylinx.de -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

Hallo, On 18.12.2013 14:21, Joerg Thuemmler wrote:
Ist leider _bei mir_ nicht so. Ich habe es gerade ausprobiert. Das "bei mir" habe ich bewusst unterstrichen, weil mysqldump auch sonst nicht so arbeitet wie es sollte und das evtl. nur bei mir der Fall ist. Wie bereits aus dem geänderten Subjekt ersichtlich ist, ging ich davon aus, dass mysqldump mit dem Schalter --all-databases alles Datenbanken und alle Tabellen sichert - das volle Programm eben. So steht es z.B. auch hier [1]. Leider scheint das nicht der Fall zu sein. Bevor ich mich auf ein Backup verlasse, test ich die Widerherstellung. Dabei habe gemerkt, dass mysqldump _bei mir_ nur die erste Datenbak sichert. Dort zwar alle Tabellen aber es fehlen die restlichen 4 Datenbanken. Username und Passwort sind für alle DB/Tabellen gleich. Mein vollständiger Befehl dazu sieht so aus: mysqldump --all-databases --lock-all-tables -u$username -p$password > $dumpfile Was mache ich jetzt schon wieder verkehrt? Gruß, Alex [1] http://griessmeier.de/linux/mysql_backup.htm -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
participants (5)
-
Alex Winzer
-
hamann.w@t-online.de
-
Joerg Thuemmler
-
Norbert Zawodsky
-
Robert Großkopf