Am besten den ganzen Ordner /data sichern, da im Unterverzeichnis /data/images die Icons für die Geräte liegen, falls sowas benutzt wird. Ich habe mir für den Zweck mal ein SSH Gerät angelegt, mit dem ich per Knopfdruck aus der WebApp den Ordner in ein Vezeichnis /backup außerhalb der WebApp sichern kann. Mit dem Off Button wir das Backup zurück kopiert. Das klappt allerdings nur bedingt, weil es danach ein Problem mit den Rechten gibt (config.xml kann nicht geschrieben werden). Das liegt wohl daran, das nicht Benutzer www-data den Kopiervorgang durchführt, sonder der Benutzer „pi“ (in meinem Fall “bananapi“).
Code: Alles auswählen
<device buttonLabelOn="Bkup" buttonLabelOff="Rstr">
<id>30</id>
<name>Config Backup</name>
<vendor>ssh</vendor>
<address>
<masterdip/>
<slavedip/>
<tx433version/>
<rawCodeOn>sudo cp -r /var/www/fb-switch/data /var/www/backup/fb-switch</rawCodeOn>
<rawCodeOff>sudo cp -r /var/www/backup/fb-switch/data /var/www/fb-switch; sudo chmod g+s /var/www; sudo chmod 775 /var/www; sudo chown -R www-data:www-data /var/www</rawCodeOff>
<ssh_address>127.0.0.1</ssh_address>
<ssh_user>bananapi</ssh_user>
<ssh_password>######</ssh_password>
</address>
<room>xRaspberry</room>
<senderid/>
<status>ON</status>
<showDeviceStatus>OFF</showDeviceStatus>
</device>
Außerdem habe ich mir ein automatisches Backup über den Pi auf mein NAS eingerichtet. Dazu habe ich ein Script geschrieben, das die komplette Webapp als Zip Datei auf meinem NAS in regelmässigen abständen per cronjob sichert.
Dazu muss zuerst zip installiert werden
dann das Script im Verzeichnis /usr/bin erstellt werden
mit folgendem Inhalt
Code: Alles auswählen
#! /bin/bash
sudo rm -r /var/www/fbs_backup.zip
echo "Altes Backup gelöscht"
zip -r -u -q /var/www/fbs_backup.zip /var/www/fb-switch/
echo
echo "WebApp gezippt"
echo
curl --upload-file /var/www/fbs_backup.zip ftp://Benutzer:Passwort@192.168.158.4/backup/pi/
echo
echo "Webserver auf NAS gesichert"
echo
Das ganze noch ausführbar machen
und einen cronjob erstellen, der das Script regemässig ausführt.
Eintrag:
Das Backup wird dann jeden Sonntag nachts um 3 Uhr automtisch durchgeführt.
Die Gesamte Webapp wird gezipt und per ftp auf eine Freigabe meines NAS kopiert.
Mann das ganze auch händisch starten, in dem man auf der Konsole des Pi einfach appbkup eingibt. Deshalb sollte das Script in /usr/bin liegen. Allerdings habe ich das für Wheezy geschrieben, ich hoffe, es geht bei Stretch immernoch so...