
# Bereinigung

Bei der Bereinigung werden nicht mehr benötigte Sandboxes entfernt. Sieh dir zuerst die Vorschau an:

```bash
wp rudel cleanup --dry-run
```

`--dry-run` listet auf, was entfernt würde und warum. Führe den Befehl ohne Flag aus, um die Einträge zu entfernen:

```bash
wp rudel cleanup
```

Der Befehl fragt nicht nach einer Bestätigung.

## Richtlinie

Eine ungeschützte Sandbox wird entfernt, wenn mindestens eine dieser Bedingungen erfüllt ist:

| Grund | Regel |
|--------|------|
| `expiry reached` | ihr `expires_at` liegt in der Vergangenheit |
| `age policy matched` | sie wurde vor mehr als `max_age_days` erstellt |
| `idle policy matched` | ihre letzte Aktivität liegt mehr als `max_idle_days` zurück |

`max_age_days` und `max_idle_days` stammen aus `rudel_config` (beide sind standardmäßig auf `0` gesetzt, wodurch die Regel deaktiviert wird). Überschreibe sie für einen einzelnen Lauf:

```bash
wp rudel cleanup --max-age-days=30 --dry-run
wp rudel cleanup --max-idle-days=7
```

Die letzte Aktivität wird bei jeder Anfrage aktualisiert, die die Sandbox auswählt, sowie bei Snapshots.

## Zusammengeführte Sandboxes

```bash
wp rudel cleanup --merged --dry-run
```

`--merged` führt einen separaten Durchlauf statt der obigen Richtlinie aus. Eine Sandbox wird entfernt, wenn sich jeder für sie verzeichnete verknüpfte Git-Worktree auf einem Branch befindet, der in den Standard-Branch des Repositorys zusammengeführt wurde. Anschließend werden diese Branches gelöscht. Verknüpfte Worktrees entstehen, wenn eine Sandbox geklont wird, deren Theme-Verzeichnis ein Git-Repository ist (siehe [Git](https://rudel.inline0.dev/de/docs/features/git)). Mit `--git` erstellte Sandboxes haben keine Worktree-Datensätze und werden immer übersprungen ([Issue #8](https://github.com/inline0/rudel/issues/8)).

## Geschützte Sandboxes

Beide Durchläufe überspringen geschützte Sandboxes. Entferne zuerst den Schutz mit `wp rudel update <id> --unprotected`, wenn die Bereinigung sie berücksichtigen soll. `wp rudel destroy` ignoriert den Schutz.

Beim Entfernen einer Sandbox werden ihre Tabellen gelöscht, verwaltete Dateien und Worktrees entfernt und der Umgebungsdatensatz Rudel gelöscht. Unter [Automatisierung](https://rudel.inline0.dev/de/docs/features/automation) erfährst du, wie du die Bereinigung planst.
