#!/bin/bash BACKUP_DIR=/root # 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}.latest.zip # Der Name der Backup-Datei, wobei das aktuelle Datum an den Namen angehängt wird. remote_directory=/www/htdocs/${sftp_user}/odoo # Das Verzeichnis auf dem Remote-SFTP-Server, in dem die Backups gespeichert werden. # 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. echo "Error during $step" # Meldet den Fehler. #curl "$MONITOR_URL?state=fail&message=$step" # Meldet den Fehlerstatus an Cronitor. exit 1 # Beendet das Skript mit Exit-Code 1 (Fehler). } echo "Restoring Odoo database from backup..." # Meldet den Beginn der Wiederherstellung der Odoo-Datenbank. echo "Verbindungsdaten: ${sftp_password}, ssh-${sftp_user}, ${sftp_host}" cd /root # Wechselt in das Home-Verzeichnis des Benutzers. # Holt die verschlüsselte Backup-Datei vom Remote-SFTP-Server in das lokale Verzeichnis. sshpass -p "${sftp_password}" sftp -i ~/.ssh/id_rsa ssh-${sftp_user}@${sftp_host}:${remote_directory} <