Seite 1 von 25

Scheduled Backup

Verfasst: Sa Okt 31, 2020 9:00 am
von humschti
Ich würde eine Möglichkeit für ein regelmässiges, geplantes Backup, zum Beispiel auf einen (S)FTP Server, sehr praktisch finden. Ein vorhandenes Backup könnte überschrieben werden oder, noch besser, eine History der x letzen behalten werden.

Re: Scheduled Backup

Verfasst: Sa Nov 28, 2020 9:35 am
von burningbecks
Klingt sinnvoll. (Hab' hier auch schon diverse RasPis mit zerschossenen SD-Karten neu aufsetzen müssen...)

Was die reinen Daten angeht, würde mir persönlich auch eine (voreingestellte, im Interface konfigurierbare) Samba-Freigabe reichen, damit mein Windows-PC alles per Robocopy abholen kann.

Vielleicht kann man auch diesen Weg gehen und das Backup nach Änderungen einfach immer frisch an solch einer Stelle hinterlegen?

Re: Scheduled Backup

Verfasst: Fr Jan 01, 2021 2:01 pm
von FosCo
Scheduled backups hören sich verdammt gut an!
Bisher habe ich noch keine OpenWB zum "spielen", aber diverse raspis, die ich über rsnapshot oder notfalls per SCP und cron sichere.

Push to smb / (s)ftp ware vermutlich die einfachste Lösung für viele. Mir würde aber auch ein bis x Verzeichnisangaben reichen, die ich mir per SSH abhole...

Also irgendwas, was mir automatisiert eine schnelle Wiederherstellung im Notfall ermöglicht wäre gut. Bin sehr gut darin, manuelle Backups zu vergessen 😎

Re: Scheduled Backup

Verfasst: Fr Jan 01, 2021 3:09 pm
von mrinas
Es gibt in der openWB eine eigene Funktion für Backup & Restore, bin mir sicher dass man den HTTP Aufruf dahinter regelmässig per Script aufrufen und die erzeugte Backup Datei dann per wget oder Powershell abrufen kann.

Re: Scheduled Backup

Verfasst: Sa Jan 02, 2021 3:52 pm
von slankes
Das hier funktioniert bei mir:

Code: Alles auswählen

#!/bin/bash
WALLBOXBASEURL=https://wallboxbase.url
OUTPUTDIR=/opt/openwb-backup/
curl -sS -o /dev/null $WALLBOXBASEURL/openWB/web/tools/backup.php
if [ $? -eq 0 ]
then
  curl -sS -o $OUTPUTDIR/openwb-backup-$(date +%Y%M%d).tar.gz $WALLBOXBASEURL/openWB/web/backup/backup.tar.gz
else
  echo "Failed to create backup"
fi

Re: Scheduled Backup

Verfasst: Do Jan 07, 2021 5:36 pm
von mrinas
Danke dafür Slankes, hier ist meine PowerShell variante:

Code: Alles auswählen

# Environmental parameters
$OpenWBIP = '192.168.178.51'
$LocalBackupFolder = "$Env:UserProfile" + '\Documents\'

# Generate backup file name, change optional
$LocalBackupFileName = ("OpenWB-backup-" + (get-date -format u) + ".tar.gz").Replace(":","-")
$LocalBackupPath = $LocalBackupFolder + $LocalBackupFileName

# Path definitions, no need to change them unless openWB changes location of those files
$OpenWBBackupPath = '/openWB/web/tools/backup.php'
$OpenWBBackupDownloadPath = '/openWB/web/backup/backup.tar.gz' # We could also use $Result.Links.href to dynamically fetch location if we wanted to. Does require extra handling if more than one link is provided
$URIToCall = "http://" + $OpenWBIP + $OpenWBBackupPath
$BackupURI = "http://" + $OpenWBIP + $OpenWBBackupDownloadPath

$Result = Invoke-WebRequest -uri $URIToCall #create backup

if ($Result.StatusCode -eq '200') # New backup created?
{
    try 
    {
        Invoke-WebRequest -Uri $BackupURI -OutFile $LocalBackupPath # Downlaod backup and store locally
        Write-Host "Created backup at $LocalBackupPath" # we're done here
    }  
    catch 
    {
        Write-Host "Backup created but couldn't be downloaded." 
    }
}
else 
{
    Write-Host 'Unexpected return code when asking for backup:' ($Result.StatusCode) ($Result.StatusDescription)   
}

Re: Scheduled Backup

Verfasst: Do Jan 07, 2021 10:43 pm
von cjungde
@slankes: Dein Script funktioniert perfekt auf meiner Synology ! Ich musste natürlich nur die Url und das OutputDir anpassen !
Ich habe es im Aufgabenplaner als benutzerdefiniertes Script eingetragen und lasse es jetzt einmal pro Woche laufen.
Offenbar ist https auf meiner OpenWB nicht eingerichtet, daher musste ich auf http wechseln (Fehlermeldung Connection refused ....:443 )

Super, Vielen Dank
Christoph
slankes hat geschrieben: Sa Jan 02, 2021 3:52 pm Das hier funktioniert bei mir:

Code: Alles auswählen

#!/bin/bash
WALLBOXBASEURL=http://wallboxbase.url
OUTPUTDIR=/volume1/Backup/openwb/
curl -sS -o /dev/null $WALLBOXBASEURL/openWB/web/tools/backup.php
if [ $? -eq 0 ]
then
  curl -sS -o $OUTPUTDIR/openwb-backup-$(date +%Y%M%d).tar.gz $WALLBOXBASEURL/openWB/web/backup/backup.tar.gz
else
  echo "Failed to create backup"
fi

Re: Scheduled Backup

Verfasst: Fr Jan 08, 2021 7:56 am
von holgerwolf
Auch ne Erfolgsmeldung hier von einem OMV NAS. Nur der Curl-Befehl musste vorher nachinstalliert werden.

Danke und Gruß
Holger

Re: Scheduled Backup

Verfasst: Fr Jan 08, 2021 10:47 am
von MichaO
Moin.

Eine Frage zu den Skripten. Ich habe gerade eine Änderung an der backup.php vorgeschlagen. Das Backup wird dadurch benannt nach dem Schema “openWB_backup_<Zeitstempel>.tar.gz”. Ich habe die Diskussion hier um das Skript übersehen und kenne mich leider mit curl nicht so doll aus, aber wäre diese Anpassung mit Eurem Skript trotzdem zu verarbeiten?

Ich finde die derzeitige Lösung recht unkomfortabel, da man beim Download das File vernünftig umbenennen muss und ggf. beim Upload auch wieder. Für den Upload zum Wiederherstellen schreibe ich das gerade um, so dass das hochgeladene File immer in backup.tar.gz umbenannt wird, um dann weiter verarbeitet werden zu können.

Gruß
Michael

Re: Scheduled Backup

Verfasst: Fr Jan 08, 2021 12:48 pm
von mrinas
Hi Michael,

bekommst Du den richtigen Link wenn Du die backup.php aufrufst und das Backup erzeugst? Dann ist das mit der PowerShell Variante gar kein Problem, das habe ich hier sogar schon vorgesehen:

Code: Alles auswählen

$OpenWBBackupDownloadPath = '/openWB/web/backup/backup.tar.gz' # We could also use $Result.Links.href to dynamically fetch location if we wanted to. Does require extra handling if more than one link is provided
Kann ich heute Abend mal einbauen, ausprobieren und dann gern hier wieder teilen. Der Teil muss als erster Aufruf in den Try Block, erst dort ist das $Result Objekt gefüllt.