NEWS
Sicherung ioBroker und sämtliche Adapter
-
hey,
so wie im vorherigen Post mache ich es in etwa auch.
Ich habe iobroker auf einem Ubuntu Server laufen. Dort mache ich mit storeBackup ganz einfach eine Sicherung auf eine Festplatte. Ohne iobroker zu stoppen oder so.
Beim zurückspielen, stoppe ich iobroker, lösche das Verzeichnis /opt/iobroker und kopiere das Backup wieder dort hin.
Beim neu aufsetzen des Servers (alle paar Jahre mal ^^) installiere ich iobroker ganz frisch und wenn es läuft stoppe ich es, lösche den iobroker Order und kopiere die Sicherung wieder drüber.
lg
Martin
-
Danke euch beiden für die Antwort,
jetzt hab ich einen Raspi frei zum testen und ich glaube das wird dringend notwendig, schönes WE.
-
Moin Moin,
Ich mache es gerade so das ich von der SD Karte eine Image Datei erstelle und die auf den NAS packe.
Ist natürlich etwas umständlich, erst runterfahren SD Karte raus und wieder rein stecken. Finde ich aber am sichersten da ja Linuxs mit gesichert wird.
Eine Image-Datei kann ich doch im laufenden betrieb und ohne die SD raus zu stecken nicht erstellen ODER???
-
Ich glaube ich habe was gelesen, dass das funktioniert, google es mal
Gesendet von meinem HUAWEI CRR-L09 mit Tapatalk
-
Das geht unter Linux.
Bin da aber auch nicht fit genug.
Gruß
Rainer
-
Das geht, mal nach "Raspberry sich selbst sichern" googeln.
zB hier die Option 2:
-
Jo, habt recht Danke
Ist aber so aufwändig das mit der SD Karte ziehen schneller geht[emoji12]
Beim gockeln bin ich aber über was gestolpert. Hört sich auch sehr interessant an:
Raspberry Pi über das Netzwerk booten (Pi3)
-
Ja ich habe hier irgendwo schon einen Thread dazu erstellt. Wäre perfekt, gerade für Multihost Clients.
Aber es scheint ziemlich umständlich zu sein
Gesendet von iPhone mit Tapatalk
-
Wichtiger für mich wäre mittlerweile wenn man bei einem host bei zb sayit auf update drückt und alle hosts machen den update mit
Gesendet von meinem HUAWEI CRR-L09 mit Tapatalk
-
stimmt. Ein Backup Adapter wäre was feines
Backup selbst geht ja einfach wie hier beschrieben. allerding müsste man da einige Umgebungen beachten:
- NAS (dauerhaft an)
- Verzeichnis mounten oder Netzwerkpfad nehmen
* per cron job backup täglich rüber kopieren
- PC (ab und zu an)
-
Verzeichnis auf dem raspberry etc freigeben
-
kleines Program auf dem PC im autostart zieht die Dateien
-
Ich selber habe ein NAS und werde mal das bei mir einrichten. Oder hat schon jemand ein kleines Skript geschrieben?
Gruß, lars `
Hallo
So ein Backup Instanz wäre doch super
Gesendet von iPad mit Tapatalk Pro
- NAS (dauerhaft an)
-
Wichtiger für mich wäre mittlerweile wenn man bei einem host bei zb sayit auf update drückt und alle hosts machen den update mit `
Bei einer korrekt eingerichteten Multihost Umgebung wird genau das ausgeführt.So ein Backup Instanz wäre doch super `
Das ist leider nicht möglich, da iobrojer dazu angehalten werden muss, und dann funktioniert der admin nicht mehrGruß
Rainer
-
Mit den Scripten und Anleitungen auf den ersten Seiten klappt das aber super. Ist erst heute morgen aufs NAS durchgelaufen…
Von unterwegs gesendet...
-
Neben dem was Rainer gerade geschrieben hat ist es in meinen Augen so das nahezu jeder Nutzer eine andere Konstellation hat und damitveun generischer Backup Adapter meiner Meinung nach niemals auch nur eine Mindestanzahl User befriedigen wird.
Wenn ich mal Zeit finde schreibe ich mal mein Backup Konzept zusammen
Was iobroker angeht ist das tägliches "iobroker Backup" (ohne stop) und eine Kopie (rsync) des gesamten iobroker verzeichnissses. Und für den Redis erzeuge ich ein neues Backup file (bgsave) und das wird sich mir Gebackuppt.
-
Also was bei mir bisher immer super funktioniert hat war
iobroker backup
Ich hatte diesen aber nie gestoppt. Dann das Backup auf einen anderen pi oder orange pi und
Iobroker restore 0
Damit nun alle benötigten Adapter installiert werden noch ein mal
Iobroker Start all
Das dauert nun ne Weile, kann man sich im Reiter Log schön ansehen was da alles so passiert.
Für meine Test hatte ich mehrmals einen frischen pi genommen oder halt den orange pi.
Was mir noch fehlt ist das Backup auf den Stick oder nas zu schieben.:-(
-
Ich nutze backup2l … gibt's auch in apt-get install und macht inkrementelle Backups.
-
Moin, habe gerade mal eine Frage zum Backup. Dieser erzeugt eine json datei und ein verzeichnis names files. Das ist bei mir aber immer leer ist das so richtig?
-
Ich weiss nicht ob ihr euch das schon angesehen hattet.
Ich hatte mir vor einer Weile etwas Zeit genommen und meine BackUp Strategy dokumentiert.
Es braucht keine zusätzlichen Tools. Allerdings nur für Linux Systeme.
Die Vorgehensweise ist individuell anpassbar.
Ich nutze es so:
- Jede Nacht gibt es ein incrementelles BackUp auf die ein BackUp Verzeichnis des ioBroker Hosts (das geht sehr schnell im Gegensatz zum NAS)
(Zur Sicherheit fahre ich ioBroker per shellscript runter - das BackUp selber braucht normalerweise < 1 Minute)
-
Dann fahre ich ioBroker wieder hoch (ebenfalls per script)
-
Die gerade gesicherte DeltaSicherung wird dann in ein einziges TAR File geschrieben mit mit Zeitstempel versehen (Mehr Generationen)
-
Alle TARs die aelter als x Tage (z.B. 14 Tage sind) werden dann automatisch gelöscht
-
Alle TAR Files des BackUp verzeichnisses werden dann auf das NAS synchronisiert (i.d.R. wird eine Datei kopiert und eine datei geloescht)
Darüber hinaus werden noch die States gesichert (falls REDIS im Einsatz ist) und auch die SQL Datenbank.
Der Restore ist ebenso beschrieben.
-
die downtime ist minimal
-
Es gibt eine aktuelle Einzeldatei sicherung (damit laesst sich schnell mal eben eine datei austauschen)
-
Es gibt TAR Files fuer jeden Tag - auf ioBroker und auf ein NAS
-
Alte Dateien werden automatisch gelöscht.
-
REDIS und SQL werden ebenfalls gesichert.
-
Eine Sicherung kann auch aus VIS per klick angestossen werden.
Alles voll automatisch, wenn es mal eingerichtet ist. Ein manuelles Eingreifen ist nicht notwendig
Ich verlasse mich 100 %ig auf diese Vorgehensweise und wurde noch nicht enttäuscht.
Der Link zur Doku:
http://forum.iobroker.net/viewtopic.php?f=8&t=6526
vG Looxer
-
Auch ich sichere jede Nacht automatisch ohne ioBroker anzuhalten (ioBroker Backup Funktion) und schiebe das erzeugte Backup dann auf mein NAS..
Zusätzlich einmal in der Woche nachts (wenn Alarmanlage deaktiviert ist und mindestens eine Person anwesend ist) wird ioBroker runtergefahren, alles komplett gesichert (ganzer ioBroker Ordner) und dann aufs NAS geschoben, anschließend ioBroker wieder gestartet..
Funktioniert alles ohne Probleme..
-
Ich habe heute mal den Fall einer defekten SD Karte erprobt. Neues Image auf eine andere Karte kopiert, Verzeichnis backups angelegt und die Sicherungs- Datei reinkopiert. Dann mit Restore wieder alles hergestellt. Nach dem Starten dann noch den einen oder anderen Adapter aktualisiert. Der einigste Adapter bei dem alle Einstellungen nicht mit übernommen wurden, war yahka, sonst lief Alles einwandfrei.
Weiß jemand wie man die Einstellungen von yahka wieder hinbekommen kann?
Ansonsten sehr beruhigend wenn man weiss, dass das mit dem Backup klappt
Habe mir die zweite Karte gut zur Seite gelegt.
Gruss Joachim
-
Ich habe mir auch mal Gedanken gemacht zu einer Backup Strategie.
Dabei bin ich zu dem Schluss gekommen, dass ich mehrere Varianten haben möchte.
Daher habe ich mit Hilfe hier aus dem Forum und anderen Seiten 3 Scripte zusammen gebastelt.
Alle Scripte haben mein NAS als Ziel, welches die Backups verschlüsselt in die Wolke schiebt.
Haus kann ja auch mal Brennen.
Das erste Script nutzt iobroker Backup ( Sehr schnell keine ausfallzeiten ):
#!/bin/bash umount /mnt/backups mount.cifs //192.168.1.235/BackupsIoBroker /mnt/backups -o user=iobroker,passwd=darf-ich-nicht-sagen date +%F" "%H":"%M" Backup Anfang" >> /mnt/backups/BackupLog.txt cd /opt/iobroker # iobroker Backup start iobroker backup cd /opt/iobroker/backups mv *."tar".gz /mnt/backups/iobroker_`date "+%Y-%m-%d"`."tar".gz date +%F" "%H":"%M" Backup Ende " >> /mnt/backups/BackupLog.txt echo >> /mnt/backups/Backup.txt umount /mnt/backups
Das zweite Scripte sichert alle iobroker Files und stopt und startet daher iobroker auch wieder:
#!/bin/bash umount /mnt/backups mount.cifs //192.168.1.235/BackupsIoBroker /mnt/backups -o user=iobroker,passwd=darf-ich-nicht-sagen date +%F" "%H":"%M" Full Backup Anfang" >> /mnt/backups/BackupLog.txt rsync -aLvzh --delete /opt/iobroker /opt/backup cd /opt/iobroker iobroker stop rsync -aLvzh /opt/iobroker /opt/backup # iobroker start cd /opt/backup tar -czf /opt/backup/iobroker_full_`date "+%Y-%m-%d"`.tgz iobroker/ mv *.tgz /mnt/backups/iobroker_full_`date "+%Y-%m-%d"`.tgz date +%F" "%H":"%M" Full Backup Ende " >> /mnt/backups/BackupLog.txt echo >> /mnt/backups/Backup.txt umount /mnt/backups cd /opt/iobroker # iobroker restart iobroker start
Das kennt Ihr wohl auch schon alle. Interessant ist aber vielleicht das letzte Script.
Dieses Script sichert alle alle VMs die man so hat. Das schöne dabei ist, die VMs werden nicht Heruntergefahren, sondern nur angehalten für die Zeit des Backups.
Es läuft also nicht auf der ioBroker VM selbst, sondern auf der Kiste wo halt alle VMs laufen.
Wichtig ist, dass das Script nicht als root ausgeführt wird. Also root bekommt man die VMs nicht aufgelistet warum auch immer.
Daher z.b. so: su -c ./backupVms.sh vbox
Das Script habe ich hier gefunden.
https://vorkbaard.nl/backup-script-for- … in-debian/
` > #!/bin/bash
This scripts loops through all the user's VirtualBox vm's, pauses them,
exports them and then restores the original state.
VirtualBox's snapshot system is not stable enough for unmonitored use yet.
Vorkbaard, 2012-02-01
=============== Set your variables here ===============
EXPORTDIR=/srv/dev-disk-by-id-ata-Corsair_Force_3_SSD_11366509000008953401-part3/vmBackups
VBOXMANAGE="/usr/bin/VBoxManage -q"
=======================================================
Generate a list of all vm's; use sed to remove the double quotes.
Note: better not use quotes or spaces in your vm name. If you do,
consider using the vms' ids instead of friendly names:
for VMNAME in $(vboxmanage list vms | cud -t " " -f 2)
Then you'd get the ids in your mail so you'd have to use vboxmanage
showvminfo $id or something to retrieve the vm's name. I never use
weird characters in my vm names anyway.
for VMNAME in $(vboxmanage list vms | cut -d " " -f 1 | sed -e 's/^"//' -e 's/"$//')
do
ERR="nothing"
SECONDS=0
Delete old export.log file if it exists
if [ -e export.log ]; then rm export.log; fi
Get the vm state
VMSTATE=$(vboxmanage showvminfo $VMNAME –machinereadable | grep "VMState=" | cut -f 2 -d "=")
echo "$VMNAME's state is: $VMSTATE."
If the VM's state is running or paused, save its state
if [[ $VMSTATE == "running" || $VMSTATE == "paused" ]]; then
echo "Saving state…"
vboxmanage controlvm $VMNAME savestate
if [ $? -ne 0 ]; then ERR="saving the state"; fi
fi
Export the vm as appliance
if [ "$ERR" == "nothing" ]; then
echo "Exporting the VM…"
vboxmanage export $VMNAME --output $EXPORTDIR/$VMNAME-new.ova &> export.log
if [ $? -ne 0 ]; then
ERR="exporting"
else
Remove old backup and rename new one
if [ -e $EXPORTDIR/$VMNAME.ova ]; then rm $EXPORTDIR/$VMNAME.ova; fi
mv $EXPORTDIR/$VMNAME-new.ova $EXPORTDIR/$VMNAME.ova
Get file size
FILESIZE=$(du -h $EXPORTDIR/$VMNAME.ova | cut -f 1)
fi
else
echo "Not exporting because the VM's state couldn't be saved." &> export.log
fi
Resume the VM to its previous state if that state was paused or running
if [[ $VMSTATE == "running" || $VMSTATE == "paused" ]]; then
echo "Resuming previous state…"
vboxmanage startvm $VMNAME --type headless
if [ $? -ne 0 ]; then ERR="resuming"; fi
if [ $VMSTATE == "paused" ]; then
vboxmanage controlvm $VMNAME pause
if [ $? -ne 0 ]; then ERR="pausing"; fi
fi
fi
Calculate duration
duration=$SECONDS
duration="Operation took $(($duration / 60)) minutes, $(($duration % 60)) seconds."
Notify the admin
if [ "$ERR" == "nothing" ]; then
MAILBODY="Virtual Machine $VMNAME was exported succesfully!"
MAILBODY="$MAILBODY"/quote>\n'"$duration"
MAILBODY="$MAILBODY"/quote>\n'"Export filesize: $FILESIZE"
MAILSUBJECT="VM $VMNAME succesfully backed up"
else
MAILBODY="There was an error $ERR VM $VMNAME."
if [ "$ERR" == "exporting" ]; then
MAILBODY=$(echo $MAILBODY && cat export.log)
fi
MAILSUBJECT="Error exporting VM $VMNAME"
fi
Send the mail
echo "$MAILBODY" | mail -s "$MAILSUBJECT" $MYMAIL
Clean up
if [ -e export.log ]; then rm export.log; fi
done `
Mit einem weiteren kleinen Script verschiebe ich die Sicherungen dann auf mein NAS.
` > # Verschieben der Datei aufs NASumount /mnt/backups
mount.cifs //192.168.1.235/BackupsIoBroker /mnt/backups -o user=iobroker,passwd=geheim
date +%F" "%H":"%M" VM Backup Verschieben Anfang" >> /mnt/backups/BackupLog.txt
cd /srv/dev-disk-by-id-ata-Corsair_Force_3_SSD_11366509000008953401-part3/vmBackups
mv *.ova /mnt/backups/
date +%F" "%H":"%M" VM Backup Verschieben Ende " >> /mnt/backups/BackupLog.txt
echo >> /mnt/backups/Backup.txt
umount /mnt/backups `
Das lasse ich quasi immer dann laufen wenn ich z.b. das Debian aktualisieren möchte auf dem ioBroker läuft.
Je nach Rechner dauert das durchaus mehrere Minuten.
Vielleicht hilft das ja jemanden.