Projekt mysqlbackup und mysqlrestore
Version vom 14. November 2013, 09:35 Uhr von itawiki>Adams
Ein Projekt für den Projekttag.
Projektinformationen | |
---|---|
Aufwand (Ph) | 8 |
Teamgröße | 1 |
Schwierigkeitsgrad | einfach |
Ansprechpartner | Herr Adams |
Projekttag |
Inhaltsverzeichnis
Kurzbeschreibung
Mit Hilfe zweier Skripte sollen Datenbankinhalte gesichert und wieder hergestellt werden können. Das Sicherungsskript soll zeitgesteuert automatisch eine nächtliche Sicherung durchführen.
Aufgabenbeschreibung
Erstellen Sie zwei Skripte: mysqlbackup.sh
und mysqlrestore.sh
und binden Sie mysqlbackup.sh
in einen CRON-Job ein.
mysqlbackup.sh
- Aufrufparameter:
-u
<username>-p
<password>-h
<hostip> <datenbankname> - Rückgabe: Tabelleninhalte in Form von SQL-INSERT und BLOB als hex-Daten an den Standardoutput
- Funktion: Mit Hilfe der Übergabeparameter wird eine Verbindung zum MySQL-Server aufgebaut und die Tabelleninhalte ausgelesen. Es werden keine DROP- oder CREATE-Statements generiert. Die Daten werden an die Standardausgabe weitergeleitet, wo man sie beispielsweise durch Umleitung in eine Datei speichern kann. Im Falle eines Fehlers soll eine sprechende Fehlerausgabe in englisch erfolgen.
mysqlrestore.sh
- Aufrufparameter:
-u
<username>-p
<password>-h
<hostip>-f
<dateiname> <datenbankname> - Rückgabe: Statistik über die importierten Daten
- Funktion: Vor der der eigentlichen Verarbeitung soll ein Hinweis erfolgen, dass alle vorhandenen Tabelleninhalte gelöscht werden, bevor die Wiederherstellung erfolgt. Das Skript soll nur Fortfahren, wenn der Anwender dies mit „j“ oder „J“ akzeptiert. Mit Hilfe der Übergabeparameter wird eine Verbindung zum MySQL-Server aufgebaut und die Tabelleninhalte aus der Datei ausgelesen. Sie werden nach einem
TRUNCATE
in die Tabellen eingefügt. Im Falle eines Fehlers soll eine sprechende Fehlerausgabe in englisch erfolgen.
CRON-Job
Das Skript mysqlbackup.sh
soll in einem CRON-Job verwendet werden. Jede Nacht um 0:05 Uhr wird der Inhalt der Datenbank wurst in die Datei
wurst_
<datum><uhrzeit>.sql
gesichert. Datum und Uhrzeit sind im Format „YYYYMMDDhhmmss“ zu verwenden.
Test
- Reaktion bei falschen Parameterangaben
- Alle Tabellen werden gesichert
- Von jeder Tabelle wird der gesamte Inhalt gesichert
- Beim Wiederherstellen wird von Anwender die Weiterverarbeitung abgelehnt
- Beim Wiederherstellen wird von Anwender die Weiterverarbeitung befürwortet
- Alle vorhanden Tabelleninhalte werden gelöscht
- Alle Tabelleninhalte werden wieder hergestellt
Eigenschaften
mysqlbackup.sh
Eigenschaft | Priorität |
---|---|
Verbindungsaufbau zum Server | zwingend |
Ausgabe der Tabelleninhalte | zwingend |
BLOB-Daten im hex-Format | optional |
Sprechende Fehlermeldungen | optional |
Test | zwingend |
mysqlrestore.sh
Eigenschaft | Priorität |
---|---|
Verbindungsaufbau zum Server | zwingend |
Test, ob Datei vorhanden | zwingend |
Rückfrage | optional |
Löschen der Altdaten | zwingend |
Wiederherstellen der Daten | zwingend |
Statistik | optional |
Test | zwingend |
CRON-Job
Eigenschaft | Priorität |
---|---|
Korrekter Aufruf | optional |
Korrekter Dateiname | optional |
Test | optional |
Projektgruppen
Name | Vergabedatum | Status |
---|---|---|
Schmidt | 18.10.2013 | in Arbeit |