EleLa - Elektronik Lagerverwaltung Hilfe

Installation von "EleLaBackup"

EleLaBackup ist ein reines Kommandozeilen-Tool das keine GUI hat und somit kann man dies ideal in Konsole-Scripte für automatisierte Backups verwenden.

Beispiel: Ein unter Linux per Crontab gestartetes Backup-Script darf kein Programm mit GUI verwenden, da die GUI in dem Augenblick nicht verfügbar ist.

Was kann "EleLaBackup"?

Wenn keine Parameter angegeben werden so wird automatisch die INI Datei von EleLa gelesen, die im gleichen Verzeichnis liegt, die Datenbank-Verbindung zum SQL Server her gestellt und eine Backup-Datei im SQLite Format angelegt. Sollte der Backup einer SQLite Datenbank erfolgen so wird die Datei nur kopiert.

Per Kommandozeilenparameter kann man das Backup steuern um z.B. einen anderen Dateiname für das Backup an zu geben oder eine andere INI Datei zu verwenden oder auch die Anzahl der Dateien im Backup-Ordner zu begrenzen.

Nach dem Start überprüft EleLa die Verbindung zur Datenbank und kontrolliert welche Datenbank-Version im SQL Server hinterlegt ist. Die ersten beiden Versions-Nummern z.B. V4.0 müssen gleich sein, die letzte Zahl nicht. So kann ein EleLaBackup V4.0 nur Datenbank mit V4.0.xxxxx sichern und nicht V4.1, V3.x und V5.x. Sollte man ein EleLa Update auf eine neuere Datenbank Version durchführen so muss entsprechend das Tool "EleLaBackup" ebenfalls geupdatet werden.

Was kann "EleLaBackup" nicht?

EleLa Backup kann keinen Update einer Datenbank durchführen, wenn z.B. eine neuere Version von EleLaBackup verwendet wird als die Datenbank vorhanden ist bricht der Backup mit einer Fehlermeldung ab. Ausnahme: SQLite, da nur die Datei 1:1 kopiert wird, hier ist die Version nicht relevant.

Die INI Datei kann EleLaBackup nicht parametrieren, dies muss mit dem Programme "EleLa" geschehen.

Kommandozeilen Parameter

Alle Parameter sind Optional.

Parameter Wert
Funktion
-b
-backup
<Dateiname Backup-Datei> Als zweiter Parameter kann optional ein Dateiname für den Backup angegeben werden. Wird kein Dateiname angegeben so wird automatisch ein Backup in dem Ordner "./Backup/<Datum> Backup.sq3" erzeugt.
-c
-count
<Anzahl> Dieser Parameter zeigt wie viele alte Backup-Dateien von EleLa gehalten werden sollen. Damit löscht EleLa alle alte Backups automatisch.
Beispiel: "-c 20"
Es sind nach dem Backup noch 20 "*.sq3" im Backup-Ordner.
-h
-?
-help
  Zeigt die Programmversion, sowie für welche Datenbank-Version und die möglichen Kommandozeilenparameter an.
Anhand diesem Parameter kann man kontrollieren ob dieses EleLaBackup mit der aktuellen Datenbank von EleLa zusammen passen.
Beispiel der Ansicht:
EleLa Backup V4.0.20B30  SVN:636
 can make a backup from database with version: V4.0.xxxxx
 -h, -?, -help            show this help
 -i, -ini [path/file]     ini file to use
 -b, -backup [path/file]  backup file name
 -v, -verbose             display more informations
 -c, -count [count]       hold the [count] newest files in the folder

Nach der Ansicht der Hilfe wird EleLaBackup in jedem Fall beendet ohne ein Backup durch zu führen, egal ob noch weitere Parameter übergeben werden.

-i
-ini
<Dateiname INI-Datei> Um einen Backup mit einer anderen Konfiguration durchführen zu können kann hier eine andere INI Datei angegeben werden.
In der Regel wird EleLaBackup in das gleiche Verzeichnis von EleLa kopiert und nutzt die gleiche INI Datei wie EleLa und man benötigt keine extra Konfiguration.
-v
-verbose
  EleLaBackup zeigt zusätzliche detailliertere Infos was gerade geschieht. In der Regel ist diese Ausgabe deaktiviert.

Backup Rückmeldung

EleLaBackup schreibt in die Datenbank den Status in den Parameter Nr 8. Der Status kann nur dann geschrieben werden wenn die Verbindung zur Datenbank korrekt funktioniert. Darüber kann EleLa den letzten Stand vom automatisierten Backup auslesen und im Log protokollieren.

Log Beschreibung
E: EleLaBackup: backup ERROR, too old, check your backup system EleLa hat festgestellt dass das letzte Backup älter als 3 Tage ist. Es sollte überprüft werden ob EleLaBackup überhaupt noch korrekt funktioniert!
EleLaBackup: 0:no backup Parameter Nr 8 wurde gefunden, jedoch ohne Status von EleLaBackup
EleLaBackup: 1:backup active Backup wird momentan ausgeführt
EleLaBackup: 2:backup IO Backup korrekt erstellt
E: EleLaBackup: 3:backup ERROR Backup konnte nicht erstellt werden. Die Zeilen danach zeigen die Fehlermeldung von ELeLaBackup. Die Funktion von EleLaBackup sollte überprüft werden.
Ein Update von EleLaBackup sollte helfen.

Beispiel Backup auf einer Synology Discstation

Beispiel Script eines Backups (RaspberryPi)

Dieses Script kann z.B. in die Datei "/home/pi/BackupRpi.sh" gespeichert werden. Der Editor "nano" ist ein recht benutzerfreundlicher Konsole-Editor:

nano ./BackupRpi.sh

#!/bin/bash
#
### EleLa - Elektronik Lagerverwaltung V4.1
###   Backup mit EleLaBackup auf einem RaspberryPi
### http://elela.de/
### (c) 2022-2024 by MmVisual, Markus Müller
###
# Parameter:
DIRBACKUP="/media/pi/BACKUP/EleLa"
DATE=`date +%Y%m%d_%H%M%S`
KEEP=5

# EleLa Datenbank "elela":
DBSQ3="$DIRBACKUP/"$DATE"_EleLa.sq3"
/home/pi/EleLa/EleLaBackup.rpi -c $KEEP -b $DBSQ3

exit 0

Vorraussetzung:

Im Ordner /home/pi/EleLa befinden sich mindesten die Datei "EleLaBackup.rpi", die Konfigurationsdatei "EleLa.ini" sowie die dazugehöringen Datenbank SO Dateien. In der Regel wird die Konfiguration mit der EleLa EXE eingerichtet, wenn EleLa sich mit der Datzenbank verbinden kann, dann kann es EleLaBackup auch.

Der Script kann mit diesem Aufruf getestet werden:

sh ./BackupRpi.sh

Automatisch mit Crontab ein Backup erstellen

Dazu wird dieser Script eine ausführbare Datei sein und in die Crontab Konfiguration mit auf genommen:

sudo chmod +x ./BackupRpi.sh
sudo crontab -e

Mit diesem Befehl öffnet der Editor mit der Crontab Konfiguration, in der man diese Zeile am Ende hinzufügt:

15 4 * * * sudo /home/pi/BackupRpi.sh >/dev/null 2>&1

In diesem Beispiel wird der Backup-Script jeden Tag 1x um 04:15 Uhr gestartet.

Tipp: Tutorial Backup der Datenbank

Alle Möglichkeiten um ein Backup der Datenbank zu erstellen sind hier beschrieben.


© 2010-2024 by Markus Müller