MySQL backup über cronjob?
Markus Hold
- datenbank
Hallo, ich bin auf der Suche nach einem Programm welches mir ein Backup meiner SQL Datenbank automatisch erstellen kann.
Ich möchte es im Format wie ich es über phpMyAdmin exportieren kann (sql dump) speichern und zwar so, dass es mir auf meinem linux rechner eine Datei auf Filesystemebene anlegt die mit datum.sql lauten soll. Bin zwar auch schon über ein paar tools gestolpert, war aber noch nicht das richtige dabei, hat mir jemand nen Tipp?
Vielen Dank, grüsse!
Hallo,
schau dir mal bitte das hier an:
http://tutorial.riehle-web.com/scripts/#mysql
oder eben das hier:
http://www.tutorials.de/tutorials221970.html
Gruß,
VampierGirl
Hi, hm geht es nicht auch auf dem weg mysqldump [options] --all-databases? Wäre das nicht über diesen Weg möglich bzw. weniger Fehleranfällig?
Hallo,
schau dir mal bitte das hier an:
http://tutorial.riehle-web.com/scripts/#mysql
oder eben das hier:
http://www.tutorials.de/tutorials221970.html
Gruß,
VampierGirl
Moin!
Hi, hm geht es nicht auch auf dem weg mysqldump [options] --all-databases? Wäre das nicht über diesen Weg möglich bzw. weniger Fehleranfällig?
Mysqldump ist ganz ohne Frage das zu bevorzugende Tool, wenn man Kommandozeile hat.
- Sven Rautenberg
sodele habs:
##!/usr/bin/ksh
date=date +%u
mysqldump -d --add-drop-table --user=MYSQLUSER --password=KENNWORT DB >/home/www/web/backup/tables_$date.sql
mysqldump -t -a -C -c --user=MYSQLUSER --password=KENNWORT DB >/home/www/web/backup/data_$date.sql
Hi,
(Wochentag --> 1=Mo, 7=So, d.h. 7 Backups pro Woche, danach wird wieder überschrieben)
date=
date +%u
Backup Database: (only tables)
mysqldump -d --add-drop-table --user=MYSQLUSER --password=KENNWORT DB >/home/www/web/backup/tables_$date.sql
Backup Database: (only data)
mysqldump -t -a -C -c --user=MYSQLUSER --password=KENNWORT DB >/home/www/web/backup/data_$date.sql
das ist schon ganz gut. Aber bei großen Datenbanken empfiehlt sich - auch wenn es länger dauert - eine gleichzeitige Kompression.
Ich mache das immer so:
mysqldump --opt -u[username] -p[password] --all-databases|gzip -c > /tmp/mysql.sql.gz
Gruß
Reiner
echo $begrüßung;
Ich mache das immer so:
mysqldump --opt -u[username] -p[password] --all-databases|gzip -c > /tmp/mysql.sql.gz
Das Passwort in die Kommandozeile zu schreiben ist keine so tolle Idee, da man das beim Anzeigenlassen der Prozessliste (ps) angezeigt bekommt. Besser ist es, das Passwort in eine ini/cfg-Datei für den ausführenden User zu schreiben. Diese Datei lässt sich mit entsprechenden Rechten vor neugierigen Blicken sichern.
echo "$verabschiedung $name";
Hi,
Das Passwort in die Kommandozeile zu schreiben ist keine so tolle Idee, da man das beim Anzeigenlassen der Prozessliste (ps) angezeigt bekommt. Besser ist es, das Passwort in eine ini/cfg-Datei für den ausführenden User zu schreiben. Diese Datei lässt sich mit entsprechenden Rechten vor neugierigen Blicken sichern.
in meinem Fall nicht notwendig, weil das ein Server ist. Da gibt es keine User, die sich per ps die Prozesse raussuchen. Bei einem Einbruch kann das natürlich ein Problem sein. Aber dann kommt die Person sicher auch an das File dran.
Gruß
Reiner