diff --git a/.gitea/workflows/odoo-restore-open_workshop_install.yaml b/.gitea/workflows/odoo-restore-open_workshop_install.yaml index e43edd5..75dbc30 100644 --- a/.gitea/workflows/odoo-restore-open_workshop_install.yaml +++ b/.gitea/workflows/odoo-restore-open_workshop_install.yaml @@ -18,7 +18,7 @@ jobs: - name: Checkout the repository # Dieser Schritt holt den Code des Repositories in die Action-Umgebung. # Dies ist notwendig, um auf Dateien im Repository wie Skripte oder Konfigurationen zugreifen zu können. - uses: actions/checkout@v4 + uses: actions/checkout@v3 - name: Load environment variables from .env run: | @@ -72,9 +72,9 @@ jobs: # Der Host-Schlüssel wird mit `ssh-keyscan` gesammelt und in `known_hosts` eingetragen. run: | echo "This is the host: ${{ secrets.ALL_INKL_HOST }}" - # docker exec ${{ github.workflow }} bash -c "mkdir -p /root/.ssh && touch /root/.ssh/known_hosts && chmod 600 /root/.ssh/known_hosts" - # docker exec ${{ github.workflow }} bash -c "ssh-keyscan -H '${{ secrets.ALL_INKL_HOST }}' >> /root/.ssh/known_hosts" - # docker exec ${{ github.workflow }} bash -c "cat /root/.ssh/known_hosts" + docker exec ${{ github.workflow }} bash -c "mkdir -p /root/.ssh && touch /root/.ssh/known_hosts && chmod 600 /root/.ssh/known_hosts" + docker exec ${{ github.workflow }} bash -c "ssh-keyscan -H '${{ secrets.ALL_INKL_HOST }}' >> /root/.ssh/known_hosts" + docker exec ${{ github.workflow }} bash -c "cat /root/.ssh/known_hosts" - name: Run the restore script in Docker container # In diesem Schritt wird das Skript `odoo-restore.sh` in den Container kopiert und dort ausgeführt. diff --git a/scripts/odoo-restore.sh b/scripts/odoo-restore.sh index b9582c7..4cecee3 100644 --- a/scripts/odoo-restore.sh +++ b/scripts/odoo-restore.sh @@ -4,7 +4,7 @@ BACKUP_DIR=~ # Verzeichnis, in dem das Backup temporär gespeichert wird. 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. +BACKUP_NAME=${ODOO_DATABASE}.latest.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. @@ -16,6 +16,14 @@ report_failure() { } +# Überträgt die verschlüsselte Backup-Datei und die "latest" Datei auf den Remote-SFTP-Server. +sshpass -p "${sftp_password}" sftp -i ~/.ssh/id_rsa $sftp_ssh_user@$sftp_host:$remote_directory <