Skip to end of metadata
Go to start of metadata
Autor
Logo

Status

RELEASE

Version1.0.6
Min. LB Version

LB 1.2.5

Download

Release 1.0.6: https://github.com/christianTF/LoxBerry-Plugin-LoxberryBackup/archive/v1.0.6.zip

Pre-Release 1.0.7: https://github.com/christianTF/LoxBerry-Plugin-LoxberryBackup/archive/v1.0.7.zip

ZweckErstellen von Images und Datei-Backups des Loxberrys
LanguagesEN, DE, CS (zmata)
Diskussionhttps://www.loxforum.com/forum/projektforen/loxberry/plugins/122935-plugin-loxberry-backup
 Version History...

Version 1.0.7

  • Fresh plugin icon!! :-)
  • Checks if the destination is an external storage in webif and during backup, and gives an error
  • Retries 10 times to access the destination directory before the real backup starts (if NAS devices take longer to wake up from sleep)
  • Shows a Browse (eye) icon right to the path to open in LoxBerry Filemanager (LB 2.0.0.4+ required)
  • Fixed printf error due to version mismatch between raspiBackup and old raspiBackup extensions shipped with the plugin

Version 1.0.6

  • Supports both mail.json (LoxBerry from V1.4) and mail.cfg (LoxBerry up to 1.2.5)
  • Removed raspiBackup extensions that created errors/warnings in the log

Version 1.0.5

  • This version requires LoxBerry V1.2.5 or above!
  • Fixes the broken Logfile tab that appeared since LoxBerry 1.2.5 because of a wrong url composition
  • The Logfile tab now directly uses the integrated LoxBerry Log Manager view

Version 1.0.4

  • This version requires LoxBerry V1.2.4 or above!
  • Better logfile overview (colored view of failed and sucessful backups)
  • Therefore this also fixes strange behaviour with disappearing logs (now using LoxBerry::Log features)
  • Live logfile in the log viewer during backup
  • Missing backup directory is automatically created
  • Fixes a bug with the raspiBackup own mail feature (-E option error)

Version 1.0.3

  • This release requires LoxBerry V1.2.1

  • Easier selection of backup destinations (using network shares and usb devices)
  • For day based backups, it's possible to enter the time to run (e.g. every 3 days at 08:00)

Version 1.0.2

  • Introducing Czech language, thank you very much Tomas Zmatlik
  • Korrigiert den Service-Stop und Service-Start
  • Umstellung vom service- auf den systemctl-Command beim Service-Start/Stop vor/nach Backup

Version 1.0.1

Version 0.2.1

  • Dies ist die letzte Version für LoxBerry 0.2.x
  • Backup-Ziel kann pro Backup-Typ angegeben werden
  • Just-In-Time Backup:
    • Ist das Backup-Ziel leer, wird der unten konfigurierte Pfad entsprechend des Backup-Typs verwendet
    • Wenn das Feld befüllt ist, wird dort gesichert

Version 0.2.0

  • Korrigiert einen Fehler in der raspiBackup-Installationsroutine
  • Beginnend mit dieser Version wird nicht mehr aktiv mit LoxBerry 0.2.x getestet

Version 0.1.2

  • Installation von Perl Libs entfernt, die garnicht benötigt werden
  • Erstellung des /backup Ordners korrigiert

Version 0.1.1

  • Erste lauffähige Alpha-Version

Source Code: https://github.com/christianTF/Loxberry-Plugin-LoxberryBackup

Inhalt

Das Loxberry Backup Plugin basiert auf dem Backup-Tool raspiBackup und ermöglicht über die Weboberfläche Images sowie Dateibackups.

Mit dem Plugin ist ein sofortiges Backup, als auch Backups auf Basis von Zeitplänen möglich. Es ist möglich, die E-Mail-Benachrichtigung zu aktivieren, um über den Erfolg des Backups informiert zu sein.

Das Plugin unterstützt kein Mounten von externen Datenträgern oder Netzwerklaufwerken. Es werden die Mounts von LoxBerry unterstützt (Auto-Mount für USB, und Network Shares für SMB/Windows).


Download

Alle Releases: https://github.com/christianTF/LoxBerry-Plugin-LoxberryBackup/releases

Aktueller Release: Download siehe Tabelle oben

Aktueller Pre-Release: 1.0.7: https://github.com/christianTF/LoxBerry-Plugin-LoxberryBackup/archive/v1.0.7.zip

LB 0.2.X Kompatibilität LoxBerry 0.2.x: 

Installation

Für die Installation sind keine besonderen Voraussetzungen nötig.

Das Plugin unterstützt automatische Plugin-Updates bzw. Benachrichtigungen bei Plugin-Updates. Du kannst die Benachrichtigung, bzw. das automatische Update in der LoxBerry Plugin-Verwaltung aktivieren. Die Benachrichtigungen erhältst du auch per E-Mail, wenn du im LoxBerry-Widget Mailserver die "System-Benachrichtigungen" für Infos aktiviert hast (Standard).

Backup-Ziel einrichten

Das Plugin verwendet die in LoxBerry eingerichteten Netzwerkshares und USB-Sticks zur Auswahl des Backup-Ziels. Es werden nur Ziele angezeigt, auf die Schreibzugriff besteht. Ein Backup auf die lokale SD-Karte ist nicht möglich!

Es ist jeweils möglich, eine Unterverzeichnis-Struktur anzugeben. Das Plugin zeigt an, ob das angegebene Verzeichnis existiert - jeder Backup-Job versucht beim Start automatisch, die Verzeichnisstruktur zu erstellen. 

Alternativ kann ein benutzerdefinierter, lokaler Pfad angegeben werden - das kann verwendet werden, wenn du einen eigenen Mount in der /etc/fstab erzeugt hast. 

Das Backup bricht in jedem Fall ab, wenn erkannt wird, dass das angegebene Verzeichnis die eigene Partition ist (z.B. wenn das Mounten fehlschlägt) - so wird verhindert, dass unabsichtlich die LoxBerry-SD voll wird.

Leerzeichen

Stand 26.01.2020: Der Backup-Pfad darf keine Leerzeichen enthalten. Details siehe https://github.com/framps/raspiBackup/issues/197


Funktion des Plugins

Sofortige Sicherung

Oben kann einer der Backup-Typen ausgewählt werden und mit "Backup jetzt starten" aufgerufen werden. Während eines Backups ist die Schaltfläche ausgegraut. 

Zeitplan

Entsprechend der von Loxberry möglichen Zeitpläne kann pro Backup-Typ ein Zeitplan ausgewählt werden (d.h. es ist z.B. gleichzeitig sowohl täglich RSYNC als auch monatlich DD möglich).

Rechts kann jeweils ausgewählt werden, wieviele Backups aufbewahrt werden sollen. 

Der Zeitplan erlaubt auch ein stundenweises Backup.

Bei einem tageweisen Backup kann gewählt werden, um welche Zeit dieses Backup durchgeführt werden soll.

Weitere Einstellungen

Unter den Zeitplänen können weitere Einstellungen getroffen werden:

Fake Backup

Teste zuerst mit "Fake Backup" - dabei wird alles durchgeführt, außer ein Backup selbst. Da dies nur wenige Sekunden dauert, ist das gut zum Testen des Laufwerkszugriffs und der Benachrichtigungen.

Backup-Benachrichtigung

Diese Einstellung verwendet die LoxBerry-eigene Benachrichtigungsfunktion. Benachrichtigungen werden dir als "Bullets" auf der LoxBerry-Startseite, sowie als Meldungen oben im Plugin angezeigt. Wenn du in LoxBerry "Mailserver" eingerichtet hast, und "Plugin-Benachrichtigungen" aktiviert, werden dir die Erfolgs- und/oder Fehlermeldungen auch per E-Mail gesandt.

In LoxBerry im Mailserver-Widget müssen deine E-Mail-Daten eingerichtet sein.

Traditionelle E-Mail Benachrichtigung

Die "Traditionelle E-Mail Benachrichtigung" verwendet die Original-Mail-Funktion von raspiBackup.

In LoxBerry im Mailserver-Widget müssen deine E-Mail-Daten eingerichtet sein.

Das Deaktivieren dieser Funktion hat keinen Einfluss auf die zuvor genannte "Backup-Benachrichtigung", d.h. auch mit deaktivierter, traditioneller E-Mail Benachrichtigung erhältst du die Benachrichtigungen direkt von LoxBerry. Wenn beide Funktionen aktiviert sind, bekommst du zwei E-Mails.

Dienste stoppen und starten

Du kannst Dienste während des Backups beenden, um deren Dateikonsistenz sicherzustellen. Üblicherweise wird das bei installierten Datenbanken gemacht.

LoxBerry Backup verwendet zum Starten und Stoppen den systemd-Command servicectl stop bzw. servicectl start.

Gib nur die Namen der Dienste an, den Rest macht LoxBerry Backup.

Logfiles

Im Tab "Logfiles" werden alle Logfiles der Backups aufgelistet. Am Titel ist erkennbar, welcher Typ das Backup war (z.B. RSYNC), und ob es ein geplantes ("scheduled") oder manuell angestoßenes ("Just-In-Time") Backup war. Die linke Spalte sollte immer grün/OK sein, andernfalls die Logfiles kontrollieren.

Das Protokoll der letzten Sicherung siehst du, wenn du oben rechts im Menü auf Logfile klickst.

Hinweise

  • Der Backuptyp RSYNC sollte nicht mit Ordnerfreigaben von Windows verwendet werden. Es kann dazu führen, dass am Windows-Laufwerk Dateien nicht mehr gelöscht werden können.
  • Für lokale Datenträger via USB empfehle ich NTFS (kann auch von Windows aus gelesen werden). Die Formatierung von NTFS muss unter Windows erfolgen.
  • NTFS-USB-Datenträger werden jedoch erst ab LoxBerry 2.0 unterstützt (der alte Treiber hat NTFS immer Read-Only gemounted)
  • exFAT/FAT32 eignet sich nicht für Backups: exFAT wird unter Linux fälschlicherweise wie FAT32 betrachtet, wo keine Dateien größer als 4 GB gespeichert werden können. 
  • Für Benutzer mit Linux-Kenntnisse eignet sich natürlich auch ext2/3/4 als Dateisystem. Diese Dateisysteme können unter Windows nur mit Zusatztools gelesen werden.

Restore

Der Backup-Typ DD erstellt ein gezipptes Image des LoxBerry. Zur Wiederherstellung kann das Paket entzippt, und dann direkt mit Win32DiskImager auf eine SD-Karte kopiert werden. Die Ziel-SD-Karte muss dabei gleich oder größer wie die ursprüngliche SD-Karte sein.

Für die anderen Backup-Typen, siehe https://www.linux-tips-and-tricks.de/de/raspibackup-restore

Known Issues

  • keine

Roadmap

  • Eine Einstellungs-Seite, bei der weitere Settings vorhanden sein werden (u.a. E-Mail Benachrichtigung nur bei Fehler)
  • Restore-Unterstützung im Plugin

Backup-Ziel auf Synology NAS einrichten

Um eine Synolgoy NAS als Backup-Ziel zu nutzen, müssen folgende Schritte durchgeführt werden:

Das how-to bezieht sich auf DSM 6.1 und im Beispiel konkret auf folgenden Pfad: data/Backup/LoxBerry. Auch ist das how-to basierend auf einer Synology mit nur EINER Festplatte (volume1), bei Nutzung von mehreren Festplatten muss die Zahl nach volume gemäß der Anzahl verwendeter Platten angepasst werden und ggf. noch /share/ bzw. /shares/ nach volume<ZAHL> und vor dem Datenverzeichnis hinzugefügt werden.

Benutzer

  1. User loxberry + Passwort erstellen
  2. User zur Benutzergruppe "http" und "users" hinzufügen
  3. User "Lesen/schreiben"Berechtigungen zum Ordner data geben
  4. User unter Appliaktionen zur "File Station" zulassen

Dateidienste

  1. Unter "SMB/AFP/NFS" "NFS aktivieren" und "NFSv4 Unterstützung aktivieren" markieren

Ordner

  1. Gemeinsamer Ordner "data" bearbeiten
  2. unter "NFS Berechtigungen erstellen" mit folgenden Einstellungen einen Eintrag erzeugen:


LoxBerry

  1. über SSH (z.B. Putty) am LoxBerry anmelden, dann mit "root" User und dem Befehl "nano /etc/fstab" folgenden Eintrag hinzufügen:
    IP_SYNOLOGY:/volume1/data/Backup/LoxBerry /backup nfs auto,uid=1032,gid=100,rsize=32768,wsize=32768,tcp,intr 0 0

    Alternativ kann auch folgender Eintrag genutzt werden, dieser hat bei vielen Usern zum Erfolg geführt. "/volume1/data/Backup/LoxBerry" ist dabei der Pfad auf eurer Synology und muss, wie die IP_SYNOLOGY, entsprechend angepasst werden.
    IP_SYNOLOGY:/volume1/data/Backup/LoxBerry /backup nfs4 rw,soft,rsize=32768,wsize=32768 0 2


abschließend den LoxBerry neu starten und dann sollte der Pfad der Synology zum Ordner /backup gemountet sein.

Fragen stellen und Fehler melden

Fehler am besten direkt bei GitHub melden: https://github.com/christianTF/Loxberry-Plugin-LoxberryBackup/issues

Fragen bitte im LoxForum-Thread stellen: https://www.loxforum.com/forum/projektforen/loxberry/plugins/122935-plugin-loxberry-backup

Sofern es bei der Anzeige oder den Einstellungen im Userinterface Probleme gibt, bitte einen Auszug des Apache Errorlogs beilegen: (Windows Explorer: \\Loxberry\Loxberry\log\system\apache2\error.log oder \\Loxberry\Loxberry\log\system_tmpfs\apache2\error.log).

14 Comments

  1. Ich habe das Backup auf meine Synology Diskstation realisiert, jedoch würde ich das nicht über NFS machen (ich habe es gemacht, gab nur Probleme mit den Rechten, da NFS die UID und GID von Synology nimmt, die es so nicht bei Loxberry gibt). Deshalb würde ich folgende Lösung mit Samba vorschlagen. Es braucht keine Pakete dazu, cifs ist standardmässig installiert auf dem Loxberry.

    • Terminal öffnen
      • ssh loxberry@lokale-IP-Adresse
      • su # Wechsel zu root, superuser password eingeben
      • nano /etc/fstab
      • -------------- die folgenden zwei Zeilen einfügen --------------
        # DISKSTATION samba mounts
        //192.168.1.10/Sicherungen/Loxone/loxberrybackup /backup cifs auto,username=loxberry,password=[meinloxberrydsmpasswort],vers=2.0,uid=loxberry,gid=loxberry 0 2
      • nano beenden mit Ctrl+X und Y für speichern
      • mount -a
  2. Ich möchte das Backup gerne auf einen USB-Stick(NTFS) speichern.  Das Backup wird auch soweit gestartet jedoch nie abgeschlossen. Letzter Log-Eintrag bleibt immer "Please be patient". Woran kann das liegen?

    OK: Starting backup
    INFO: sudo /usr/local/bin/raspiBackup.sh -N "fstab" -o ":" -a ":" -k 3 -t ddz -L current -l debug -m detailed -v /opt/loxberry/system/storage/usb/Loxberry_Backup/Backup

    Script started on Fri Apr 12 21:49:14 2019
    --- RBK0009I: loxberry: raspiBackup.sh V0.6.4.2 (74411c9) started at Fri Apr 12 21:49:14 CEST 2019. 
    --- RBK0128I: Using logfile /opt/loxberry/log/plugins/lbbackup/raspiBackup.log. 
    --- RBK0116I: Using config file /usr/local/etc/raspiBackup.conf. 
    --- RBK0151I: Using backuppath /media/usb/Loxberry_Backup/Backup. 
    !!! RBK0157W: No services to stop. 
    --- RBK0081I: Creating backup of type ddz in /media/usb/Loxberry_Backup/Backup/loxberry/loxberry-ddz-backup-20190412-214914. 
    --- RBK1005I: Copy /etc/fstab to /media/usb/Loxberry_Backup/Backup/loxberry/loxberry-ddz-backup-20190412-214914/raspiBackup/extensionSaveArea 
    total 1 
    drwxrwxrwx 1 loxberry loxberry 144 Apr 12 21:49 . 
    drwxrwxrwx 1 loxberry loxberry 168 Apr 12 21:49 .. 
    -rwxrwxrwx 1 loxberry loxberry 628 Apr 12 21:49 fstab 
    --- RBK0085I: Backup of type ddz started. Please be patient. 


    Edit: Das DDZ Image erreicht irgendwann eine Größe von 2,2 GB und das wars. Ich den Dateimanager kann man erst wieder nach einem Neustart aufrufen. 

    1. Schwer zu sagen...

      Bei mir dauert ein DDZ 64GB-SD, aber auf SMB-Share, etwa 90 Minuten, so als Richtwert.

      Kannst du mal probieren, den Stick ext4 zu formatieren, ob’s dann geht?

      Sonst müsste man auch mal ins /var/log/messages oder die Console schauen, es hört sich ja so an, als würde der USB-Stick nicht mehr erreichbar sein (bei Linux führt das dann gerne zu einem Freeze beim Zugriff auf so einen Datenträger).

      1. Danke für den Richtwert. Backup lief allerdings schonmal eine Woche ohne abzuschließen. ext4 teste ich jetzt mal. 

        1. Mit ext4 leider das selbe. Das ist ein nagelneuer USB 3.1-Stick. Kann es daran liegen? 

          1. Ich kann‘s leider nicht sagen...

            1. Mit einem alten usb 2.0 stick klappts nun ????

  3. Hat jemand das schonmal mit nem QNAP Nas gemacht?

  4. Hi,

    sobald ich die Mail-Benachrichtigung aktiviere bekomme ich folgenden Fehler:

    Software error:

    Can't call method "param" on an undefined value at /opt/loxberry/webfrontend/htmlauth/plugins/lbbackup/index.cgi line 567.
    

    For help, please send mail to the webmaster ([no address given]), giving this error message and the time and date of the error.



    Maileinstellungen am Loxberry passen aber weil ich Mails vom System bekomme.

    Was könnte da falsch sein?


    Danke und lg

    Christian

    1. Das ist interessant, weil keines der Scripts von LBBackup so viele Zeilen hat.

      Könntest du bitte in dem Plugin-Thread schreiben, und dort das Logfile des Plugins anhängen.

      lg, Christian

      1. Doch die datei index.cgi hat gesamt 640 Zeilen.

        In dem Bereich um Zeile 567 steht folgendes:


        # Generate E-Mail Options
        # -----------------------------------------------------------
        sub email_params
        {
        my $mailadr = "";
        my $mail_params = "";

        print STDERR "Checking E-Mail notification...";
        if ($R::email_notification eq "1") {
        print STDERR "Mail Notification is enabled.\n";
        my $mailcfg = new Config::Simple("$lbhomedir/config/system/mail.cfg");
        unless($mailadr = $mailcfg->param("SMTP.EMAIL"))
        {
        print STDERR "Error reading mail configuration in $lbhomedir/config/system/mail.cfg\n";
        $mailadr = undef;
        }
        print STDERR ($mailadr ne "" ? "Mail Address is $mailadr\n" : "Mail notification disabled\n");
        }
        $mail_params = $mailadr ne "" ? "-e $mailadr " : "";
        return $mail_params;
        }







        Zeile 567 ist folgende: unless($mailadr = $mailcfg→param("SMTP.EMAIL"))

        Leider kenne ich mit scripten zu wenig aus um da das Problem finden zu können.


        Werde aber in dem Plugin-Thread schreiben, und dort das Logfile des Plugins wie gewünscht noch anhängen.


        lg

        Christian

        1. Zur allgemeinen Info: Problem gelöst - LoxBerry Backup Version war 0.2.1 installiert, aber 1.0.6 ist die aktuelle Version.

  5. hallo!

    mein loxberry würde ich gerne von meinem alten raspi auf einen raspi 4 übersiedeln ohne wieder bei 0 beginnen zu müssen.

    habe aber leider keine alternativen gefunden. gibt es ein entsprechendes tool wie zb.: bei synology?


    danke & lg

      • Backup machen
      • Update auf LoxBerry 2.0
      • SD-Karte in den neuen Pi stecken

      Du kannst die SD auch mit Win32Diskimager sichern und wiederherstellen.

      Für Pi 4 musst du aber jedenfalls auf LoxBerry 2.0 sein.