#!/bin/bash BACKUP_DIR=~ # Verzeichnis, in dem das Backup temporär gespeichert wird. #MONITOR_URL='https://cronitor.link/p/c6debfe4e00f46fe9eb430ab9d2b2588/7PPIpd' # Cronitor-URL zur Überwachung des Skriptstatus. ODOO_DATABASE=hobbyhimmel # Der Name der Odoo-Datenbank, die wiederhergestellt werden soll. DEFAULT_URL="http://hobbybackend2.fritz.box:9013" # Standard-URL für die Odoo-Datenbank-Backup-API. URL="${1:-$DEFAULT_URL}" # Falls ein Argument übergeben wird, wird es als URL genutzt, sonst bleibt die Standard-URL. BACKUP_NAME=${ODOO_DATABASE}.$(date +%F).zip # Der Name der Backup-Datei, wobei das aktuelle Datum an den Namen angehängt wird. # Function to report failure to Cronitor with step # Diese Funktion meldet einen Fehler an Cronitor und beendet das Skript. # Parameter: $1 - Der Schrittname, der beim Fehlschlag gemeldet wird. report_failure() { local step=$1 # Schrittname wird als erster Parameter übergeben. #curl "$MONITOR_URL?state=fail&message=$step" # Meldet den Fehlerstatus an Cronitor. exit 1 # Beendet das Skript mit Exit-Code 1 (Fehler). } curl -X POST -s \ -F "master_pwd=${ADMIN_PASSWORD}" \ -F "name=${ODOO_DATABASE}" \ ${URL}/web/database/drop || report_failure "Database deletion" curl \ -F "master_pwd=${ADMIN_PASSWORD}" \ -F "name=${ODOO_DATABASE}" \ -F "backup_file=@${BACKUP_DIR}/${BACKUP_NAME}" \ -F "backup_format=zip" \ -F "copy=true" \ ${URL}/web/database/restore || report_failure "Database restoration" # If everything was successful, report completion # Meldet den erfolgreichen Abschluss des Skripts an Cronitor. #curl "$MONITOR_URL?state=complete"