Hyper Backup MariaDB wiederherstellen

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

Ghost108

Benutzer
Registriert
27. Juni 2015
Beiträge
1.278
Reaktionspunkte
76
Punkte
68
Moin!

ich habe eine Situation simuliert, welche ich nun leider nicht zu ende realisieren kann.

- MariaDB im Einsatz
- tägliche HyperBackup Sicherung (00:00 Uhr)

Gestern habe eine Test-Tabelle angelegt.
Dann lief das Backup heute Nacht.
Soeben habe ich diese Test-Tabelle gelöscht.

Nun die Frage:
Wie kann diese Tabelle nun wiederherstellen?
Finde hierzu keine Option bei HyperBackup.
 
UPDATE:
Hat sich erledigt. Habs rausgefunden. Ich muss die ganze Anwendung "MariaDB" wiederherstellen.
 
  • Like
Reaktionen: its
Wie kann diese Tabelle nun wiederherstellen?
Diese Frage hatte ich mir auch schon in der Vergangenheit gestellt.

Ich muss die ganze Anwendung "MariaDB" wiederherstellen.
Auch wenn ich diesen Fall selbst noch nicht hatte, aber dies war meine Vermutung die Datenbank komplett herstellen zu müssen.

Da könnte man sich doch glatt überlegen ein eigenes Script zu schreiben um einen Datenbankexport nach Zeitplan zu erstellen um dann einzelne Tabellen wiederherstellen zu können.
 
  • Like
Reaktionen: Ghost108
MySQL dump
 
  • Like
Reaktionen: ctrlaltdelete
Ach wie cool... :cool: Da hatte wohl jemand Zeit das sofort umzusetzen. Das verdient natürlich Respekt 🙌
 
@geimist Kleiner Verbesserungsvorschlag meinerseits.

Zeile 14 die Variable DBengine mit eindeutigen Systempfaden zu definieren um dem "volume*" (1 oder 2) aus dem Wege zu gehen.

Anstelle von:
Code:
DBengine=/volume*/@appstore/MariaDB10/usr/local/mariadb10/bin/mysql

Ersetzen mit:
Code:
DBengine=/var/packages/MariaDB10/target/usr/local/mariadb10/bin/mysql

Denn:
Code:
/var/packages/MariaDB10/target
ist ein Symlink auf
Code:
target -> /volume1/@appstore/MariaDB10
 
Läuft ganz gut und zuverlässig.

Eine Unschönheit habe ich dennoch gefunden.

Bash:
13  PREFIX="MySQLdump_${DATE}_"

62  fn="${BACKUPDIR}/${prefix}${db}.sql"
63  echo "Dump database $db to $fn"

65  $mysqldump $DBLOGIN --databases $db | gzip -c -9 > "${BACKUPDIR}/MySQLdump_${db}_${DATE}.sql.gz"

Zum einen bei der Definition von Filename Ziele 62 die Variable ${prefix} müsste wohl in upper case geschrieben werden.
Zum anderen stimmt die Ausgabe aus Zeile 63 nicht mit dem Namen der Erstellung der Datei aus Zeile 65 überein.

Da könnte man sich fast überlegen die Variable mit dem Filename auch bei der Generierung zu verwenden.

Bash:
62  fn="${BACKUPDIR}/${prefix}${db}.sql"

65  $mysqldump $DBLOGIN --databases $db | gzip -c -9 > "${fn}.gz"


Ich finde das Script super und habe es gleich in meine Umgebung mit übernommen.

Das habe ich gleich zum Anlass genommen und dies für meine Bedürfnisse etwas angepasst um alle Datenbanken jeweils in ein Unterverzeichnis zu schieben.

Bash:
    DBCOUNT=$(($DBCOUNT + 1))

    BACKUPSUBDIR="${BACKUPDIR}/${db}"
    if [ ! -d "${BACKUPSUBDIR}" ]; then
        mkdir -p "${BACKUPSUBDIR}"
    fi

    fn="${BACKUPSUBDIR}/${PREFIX}${db}.sql"
    echo "Dump database $db to $fn"

    $mysqldump $DBLOGIN --databases $db | gzip -c -9 > "${fn}.gz"
 
    # Gesamtbackup --> GESAMT
    BACKUPSUBDIRGESAMT="${BACKUPDIR}/GESAMT"
    if [ ! -d "${BACKUPSUBDIRGESAMT}" ]; then
        mkdir -p "${BACKUPSUBDIRGESAMT}"
    fi
    $mysqldump --opt $DBLOGIN --all-databases | gzip -c -9 > "${BACKUPSUBDIRGESAMT}"/"${PREFIX}"GESAMTBACKUP.gz

@geimist Danke dir vielmals für die publizierung dieses genialen Scripts! (y)
 
Vielen Dank für deine Aufmerksamkeit. Wie gesagt: bei mir läuft das schon jahrelang, weshalb mir die fehlerhafte Logausgabe gar nicht mehr aufgefallen ist. Ich habe es mit korrigiert. Auf PREFIX habe ich jetzt komplett verzichtet.

Zusätzlich habe ich noch einen Schalter für Unterordner mit aufgenommen.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat