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 mysqlcheck.
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:
0 3 * * * /root/bin/mysqlbackup

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 18: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 15: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 15: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.