Datenbank-Server

ID #1056 MySQL: Täglicher Check der Datenbanken

Bei manchen Servern (insbesondere, wenn er etwas älter ist) sollte man regelmässig die Datenbanken prüfen lassen.

Dazu nutzt man das von MySQL mitgelieferte <code>mysqlcheckcode>.
Lediglich das dbpasswort muss angepaßt werden und Script dann unter in /root/bin oder /usr/local/bin speicher. (chmod 700 nicht vergessen!)
Als Schmankerl macht er auch direkt ein Backup der kompletten Datenbank.

#!/bin/sh

dbpassword="passwort"

date=`date -I`
mysqlcheck --all-databases --auto-repair --extended --optimize \
           -uroot -p$dbpassword >/var/log/mysqlcheck-$date.log
mysqldump --all-databases -uroot -p$dbpassword --opt \
           | gzip -c > /backup/databasebackup-$date.sql.gz

Der passende cronjob kann so aussehen:
<code>0 3 * * * /root/bin/mysqlbackupcode>

PS: Da sind doch glatt die Backticks abhanden gekommen. Danke an Sebastian.

 

sozial Bookmarking
Bookmarken bei YIGG Bookmarken bei Mister-Wong Bookmarken bei Icio Bookmarken bei del.icio.us Bookmarken bei Technorati Bookmarken bei Furl Bookmarken bei Spurl Bookmarken bei Yahoo Bookmarken bei Google

vom 2005-12-17 13:34, zuletzt 2006-12-21 10:04     Artikel ausdrucken Artikel weiterempfehlen Als PDF-Datei anzeigen

Dieser Inhalt ist unter der Creative-Commons Lizenz lizensiert.

Probleme bitte im Server-Support-Forum diskutieren.

überflüssig 1 2 3 4 5 wertvoll  
Durchschnittliche Bewertung:   3.29 von 5 (7 Bewertungen)

Artikel kommentieren

Kommentar von Sebastian Förster (2006-12-15 19:57:27):
Ohne Backticks funktioniert das Beispiel nicht gewünscht.

Hier die bearbeitete Version:

#!/bin/sh

dbpassword="passwort"

date=`date -I`
mysqlcheck --all-databases --auto-repair --extended --optimize \
-uroot -p$dbpassword >/var/log/mysqlcheck-$date.log
mysqldump --all-databases -uroot -p$dbpassword --opt \
| gzip -c > /backup/databasebackup-$date.sql.gz

Gruss
Sebastian

http://www.forestsoft.de

Kommentar von Tobias Fendel (2009-01-22 16:39:15):
eine aktualisierung für plesk9:

der root-benutzer der datenbank heisst jetzt "admin" anstatt "root" und das passwort wird automatisch aus der plesk-installation geholt:


#!/bin/sh

dbpassword=`cat /etc/psa/.psa.shadow`
date=`date -I`

mysqlcheck --all-databases --auto-repair --extended --optimize \
-uadmin -p$dbpassword >/var/log/mysqlcheck-$date.log
mysqldump --all-databases -uadmin -p$dbpassword --opt \
| gzip -c > /backup/mysql_$date.sql.gz

Kommentar von huschi (2009-01-22 16:57:12):
@Tobias
Das Script ist allgemein gehalten und nicht speziell für Plesk. Und der Master-Account bei Plesk hieß schon immer "admin".

Aber Du hast recht: Dieses Howto ist viel zu alt. Ich werde es bei Zeiten überarbeiten oder löschen.

huschi.