Opnsense 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 {} \;
