EleLa - Elektronik Lagerverwaltung Hilfe

Synology DiscStation Tutorial - Einrichten EleLaBackup der MariaDB Datenbank

Dieses Tutorial zeigt wie man bei einer Synology Discstation ein automatisches Backup der MariaDB Datenbank mit EleLaBackup einrichtet, so dass per Aufgabenplaner die EleLa Datenbanken sichert. Da die Linux-EXE "EleLa" nicht auf der DiscStation ausführbar ist wird das Tool "EleLaBackup.64" verwendet. Die Sicherung wird über einen Script gestartet, der Script kann mittels Aufgabenplater aktiviert werden.

Benötigte Vorbereitung:

In der Freigabe "allgem" ist der Ordner EleLa mit den benötigten Dateien:
/volume1/allgem/EleLa

Diese Freigaben sind Beispiele und können entsprechend eurer Discstation (DS) angepasst werden.

Der Script "EleLaBackup.sh":

Der Script sichert alle Datenbank von EleLa. Wichtig: Es muss immer der volle Pfad ausgeschrieben werden, relative Pfade kennt der Aufgabenplaner nicht (Cron-Job)! Auch muss der Benutzer im Aufgabenplaner die entsprechende Rechte für den Dateizugriff und MariaDB haben.

Diese Scrip Datei liegt im gleichen Ordner wie EleLa.EXE. Zusätzlich wird die Datei "EleLaBackup.64" mit in das EleLa Verzeichnis kopiert. (In diesem Besipiel hat die DS die CPU-Architektur x86-64, bei anderen CPU Architekturen benötigt man eine andere Version von EleLaBackup, bzw. es funktioniert dann nicht.)

#!/bin/bash
#
### EleLa - Elektronik Lagerverwaltung V4.1
###   Backup mit EleLaBackup auf der Synology DS
### http://elela.de/
### (c) 2023-2024 by MmVisual, Markus Müller

# Parameter:
# Pfad zum EleLa Ordner
DIRELELA="/volume1/allgem/EleLa"
# Anzahl der Sicherungen
KEEP=5

DATE=`date +%Y%m%d_%H%M%S`
# EleLa Datenbank Sicherungsdatei Datei "DBSQ3":
DBSQ3="$DIRELELA/BackupAuto/"$DATE"_EleLa.sq3"
# Ausführen des Backups mit EleLaBackup für Linux 64 Bit
$DIRELELA/EleLaBackup.64 -c $KEEP -b $DBSQ3

exit 0

Die Parameter im oberen Abschnitt müssen den gegebenheiten angepasst werden.

In dem Ordner "DIRELELA" müssen mindestens die Dateien "EleLa.ini" mit den Zugangsdaten zur Datenbank sowie die EXE "EleLaBackup.64" (64 Bit Linux) liegen, damit das Backup ausgeführt werden kann sowie die Script Datei "EleLaBackup.sh"
EleLaBackup erzeugt nach der erste Ausführung automatisch den Ordner "BackupAuto" mit den Sicherungen.

Hier kann die Original Script Datei geladen werden.

Einrichten "Aufgabeplaner" in der Systemsteuerung

Die Systemsteuerung wird über das Web-Interface von der Discstation geöffnet. Der "Aufgabenplaner" legt automatisch je Eintrag einen Cron-Job in der Datei "/etc/crontab" an. Die DS muss dafür nicht neu gestartet werden.

In der Systemsteuerung den "Aufgabeplaner" auswählen und einen neuen Eintrag erstellen:
Erstellen -> Geplante Aufgabe -> Benutzerdefiniertes Script

Der Benutzer sollte "root" sein, da ansonsten keine Rechte für die Dateien vorhanden sind.

Der Zeitplan wie oft und wann das Backup ausgeführt werden soll kann jeder für sich bestimmen.

Anhand dem Zeitplan und dem Parameter "KEEP" in der Script Datei ergibt sich dann der Zeitrahmen wie lange man ein Backup hat.

Hier wird der komplette Pfad/Dateiname zum Script aus Sicht der DiscStation eingetragen, beginnend ab dem Wurzel Verzeichnis.

sh /volume1/allgem/EleLa/EleLaBackup.sh

Nachdem man die Aufgabe erstellt hat kann diese nochmals mit "Einstellungen" geändert werden, hier kann man ein Pfad für den Log auswählen.
Dies sollte man einstellen, damit man jederzeit kontrollieren kann ob der Backup funktioniert hat.

In diese Beispiel wurde die Freigabe/Ordner so eingerichtet:

/volume1/backup/Log

Nach der Ausführung kann das Ergebnis Log angeschaut werden. Wenn das in etwa so aussieht, dann wurde der Script ordnungsgemäß ausgeführt.

Dieses Ausführungsergebnis ist nur dann sichtbar wenn zuvor in den Einstellungen dies aktiviert wurde.

Wenn man alles eingegeben hat kann der Script mit "Ausführen" getestet werden. Wenn im BackupAuto Ordner die Sicherungsdateien mit gefüllten Daten drin liegen, dann wurde alles richtig gemacht.

Wenn nicht, dann kann man sich mit einem Terminalprogramm (z.B. Putty) in den Server einloggen, zum Script-Verzeichnis wechseln und den Script manuell ausführen:

sudo -i
<root Passwort eingeben>
cd /volume1/allgem/EleLa/
sh ./EleLaBackup.sh

Hier werden dann, wie bei Linux üblich, die Fehler angezeigt, auch die Zeilennummer wo der Fehler auftrat.

Hinweis:
- Synology V6.4: Wenn in der Synology DS MariaDB-10 als EleLa SQL Server verwendet wird so muss zusätzlich das Paket MariaDB-5 installiert werden, da ansonsten Dateien fehlen, die EleLaBackup benötigt.
- Synology V7: In der INI Datei muss der Parameter "LibraryLocation" benutzt werden, um auf die Library zu verweisen: "/volume1/@appstore/MariaDB10/usr/local/mariadb10/lib/libmyqlclient.so"
Daher muss EleLaBackup in einem separatem Verzeichnis mit der angepassten "EleLa.ini" Datei liegen.


© 2010-2024 by Markus Müller