Tooling to find and remove orphaned resources (eber)
Find a file
raf 5f6415fc17 feat: quarantine instead of delete — move mailboxes to /home/vmail/DELETED
The emitted script no longer runs rm -rf. For each validated mailbox it
moves /home/vmail/<domain>/<localpart> into
/home/vmail/DELETED/<domain>/<localpart>, leaving the DELETED tree for the
operator to handle manually.

- new dest: plain mv
- pre-existing dest: merge with cp -a (overwrite collisions), then drop the
  duplicated source
- mailbox dir absent on disk: skipped silently, no failure (set -e safe)

Both sanity layers retained; quarantine root and DELETED-as-domain guarded.
Verified in a sandbox: move, merge/overwrite, and 325/326-absent --run all
behave and exit 0.

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 11:21:40 +02:00
.gitignore feat: add build-deletion-script.sh — sanitized vmail orphan deletion generator 2026-06-02 11:12:11 +02:00
build-deletion-script.sh feat: quarantine instead of delete — move mailboxes to /home/vmail/DELETED 2026-06-02 11:21:40 +02:00
README.md chore: initialize eber-remove-orphans repo 2026-06-02 11:03:36 +02:00

eber-remove-orphans

Tooling to find and remove orphaned resources (eber).