aboutsummaryrefslogtreecommitdiffstats
path: root/roles/dovecot/templates/usr/local/bin/dovecot-archive.sh.j2
blob: 8f34b6ae1f09a035b2ecfcf5efe7d34c1ca2f38b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/bin/bash

set -Eeu -o pipefail

VMAIL_USER={{ dovecot_vmail_user | quote }}
{% raw %}
TMPDIR=$(mktemp -d .dovecot-XXXXXX)
trap 'rm -rf -- "$TMPDIR"' EXIT

chown "$VMAIL_USER" "$TMPDIR"

doveadm user '*' | xargs -r -I{} doveadm -o plugin/quota= backup -n inbox -f -u {} "mdbox:${TMPDIR}/{}/mdbox:LAYOUT=fs"

TIMESTAMP=$(date +%Y%m%d%H%M%S)

tar czf "mailboxes-${TIMESTAMP}.tar.gz"       \
  --transform "s|^\.|mailboxes-${TIMESTAMP}|" \
  -C "$TMPDIR" .
{% endraw %}