Backups per API anzeigen und löschen
Jede WordPress-Installation hat ein Backup-Limit. Legt eine Pipeline vor jedem Deployment ein Backup an, ist das Limit irgendwann erreicht, und neue Backups werden abgelehnt (backup_limit_reached). Mit der Hosting-API behältst du den Überblick und räumst auf, ohne dich im Panel anzumelden.
Backups anzeigen
Mit dem Recht backups:read listest du die Backups einer Site. Die neuesten stehen zuerst, mit Datum und Größe:
turbopress backups list --site SITE_ID --json
Jedes Backup hat eine id (der Dateiname), created_at und size_bytes. Fehlt dem Hosting-System ein Datum, steht dort null, und das Backup erscheint am Ende der Liste.
Backup löschen
Löschen braucht ein eigenes Recht, backups:delete („Backups löschen“). Es steht nicht in der Schnellauswahl „Backups & Cache“. Lege dafür ein eigenes Token an und gib es nicht deiner Deployment-Pipeline mit: Ein Token, das Backups löschen darf, kann das Sicherheitsnetz der Pipeline entfernen.
turbopress backups delete --site SITE_ID --backup BACKUP_ID --wait
Das Löschen ist dauerhaft und läuft wie die anderen Schreibaufrufe als Job. Mit --wait wartet die CLI, bis der Job abgeschlossen ist. Das Ergebnis nennt die gelöschte Datei, die Zahl der verbleibenden Backups und deletion_verified: true, sobald das Hosting-System das Löschen bestätigt hat.
Ohne CLI, mit curl:
curl -sS -X DELETE "https://panel.turbopress.de/api/v1/sites/${SITE_ID}/backups/${BACKUP_ID}" \
-H "Authorization: Bearer ${TURBOPRESS_API_TOKEN}" \
-H "Idempotency-Key: $(openssl rand -hex 16)"
Was geschützt ist
Die API löscht nie versehentlich das, was du gerade brauchst:
- Das neueste Backup wird nicht gelöscht. Die Antwort ist
422mitbackup_protected. Das gilt auch, wenn es nur ein einziges Backup gibt oder zwei gleich neu sind. - Ein Backup in Benutzung wird nicht gelöscht. Läuft oder wartet gerade ein Backup für die Site, antwortet die API mit
backup_in_use. - Eine unbekannte ID ergibt
404.
Wiederholst du denselben Aufruf mit demselben Idempotency-Key, bekommst du dieselbe Operation zurück. Es wird nie zweimal gelöscht.
Wenn die Website gerade beschäftigt ist
Schreibende Aufträge einer Website laufen nie gleichzeitig. Dafür gibt es eine gemeinsame Sperre je Hosting-Paket (Subscription): Live-Site und Staging-Site im selben Paket teilen sie sich. Läuft gerade etwas (zum Beispiel ein Backup, ein Update oder eine Übernahme von Staging nach Live im Panel oder per KI-Zugriff), endet ein neuer Schreibaufruf ohne Wirkung als failed mit site_busy. Warte einige Minuten und starte ihn mit einem neuen Idempotency-Key erneut. Lesende Aufrufe wie die Siteliste, die Backupliste oder operations list gehen währenddessen weiter, und die Websites anderer Kunden sind nie betroffen.
Wenn das Löschen nicht bestätigt wird
Meldet der Job unknown, steht nicht fest, ob das Hosting-System die Datei entfernt hat. Prüfe die Backup-Liste, bevor du es erneut versuchst. Solange der Zustand ungeklärt ist, kann die Site keine neuen Backups anlegen. Wende dich in diesem Fall an den Support.
Weitere Anleitungen
API-Token erstellen · Fehlersuche · turbopress CLI installieren · OpenAPI-Referenz