Backup via API

Benutzer erstellen, Berechtigungen müssen so aussehen: 
 
 
 Danach kann man den ein API Token generieren (rechts neben den Benutzern, sieht aus wie ein Ticket) 
 
 Danach z.B auf Synology folgendes Script in Aufgabenplanung erstellen (Anpassen von KEY, SECRET % HOST NÖTIG!) 
 
 #!/usr/bin/bash

# Change API key and secret, number of days to keep backups, the path to your backups and the hostname for your firewall

key="xxxxxxxxxxx"
secret="yyyyyyyy"
daystokeep=30
destination="/volume1/bckup/opnsense"
fwhost="IPADRESSE:PORT"

date=$(date +%Y-%m-%d)

result=$(/usr/bin/curl -I -s -k -u "$key:$secret" https://$fwhost/api/core/backup/download/this | head -1)

if [[ $result != *"200"* ]]; then
 echo "Result of the HTTP request is $result"
 exit 1
fi

/usr/bin/curl -s -k -u "$key:$secret" https://$fwhost/api/core/backup/download/this > "$date.xml"
error=$?

if [ $error -gt 0 ]; then
 echo "Curl returned error number $error"
 exit 1
fi

/usr/bin/gzip "$date.xml"
mv "$date.xml.gz" "$destination"
/usr/bin/find "$destination"/* -mtime +$daystokeep -exec rm {} \;