Восстановление случайно удаленных данных
Итак, вы удалили почтовый ящик и у вас нет резервных копий, верно?
Если вы заметили ошибку в течение нескольких часов, вы, вероятно, сможете восстановить данные пользователя.
SOGo¶
Мы автоматически создаем ежедневные резервные копии (интервал 24 часа с момента запуска up -d) в /var/lib/docker/volumes/animailsdockerized_sogo-userdata-backup-vol-1/_data/.
Убедитесь, что пользователь, которого вы хотите восстановить, существует в вашем animails. Создайте его заново, если он отсутствует.
Скопируйте файл, названный по имени пользователя, которого вы хотите восстановить, в __MAILCOW_DIRECTORY__/data/conf/sogo.
-
Скопируйте резервную копию:
cp /var/lib/docker/volumes/animailsdockerized_sogo-userdata-backup-vol-1/_data/restoreme@example.org __MAILCOW_DIRECTORY__/data/conf/sogo/restoreme@example.org -
Выполните следующую команду:
docker compose exec -u sogo sogo-animails sogo-tool restore -F ALL /etc/sogo restoreme@example.orgdocker-compose exec -u sogo sogo-animails sogo-tool restore -F ALL /etc/sogo restoreme@example.orgInfo
Запустите
sogo-toolбез параметров, чтобы проверить возможные варианты восстановления, если приведенная выше команда вам не подходит. -
Удалите скопированную резервную копию, выполнив
rm __MAILCOW_DIRECTORY__/data/conf/sogo/restoreme@example.org -
Перезапустите SOGo и Memcached:
docker compose restart sogo-animails memcached-animails
docker-compose restart sogo-animails memcached-animails
Почта¶
В случае случайного удаления почтового ящика у вас будет возможность восстановить его в течение (по умолчанию) 5 дней. Это зависит от параметра MAILDIR_GC_TIME в animails.conf.
Удаленный почтовый ящик копируется в зашифрованном виде в /var/lib/docker/volumes/animailsdockerized_vmail-vol-1/_data/_garbage.
Папка внутри _garbage имеет структуру [timestamp]_[domain_sanitized][user_sanitized], например, 1629109708_exampleorgtest в случае удаления test@example.org в 1629109708.
Для восстановления убедитесь, что вы восстанавливаете данные в тот же animails, из которого они были удалены, или используете те же ключи шифрования в crypt-vol-1.
Убедитесь, что пользователь, которого вы хотите восстановить, существует в вашем animails. Создайте его заново, если он отсутствует.
Скопируйте папки из /var/lib/docker/volumes/animailsdockerized_vmail-vol-1/_data/_garbage/[timestamp]_[domain_sanitized][user_sanitized] обратно в /var/lib/docker/volumes/animailsdockerized_vmail-vol-1/_data/[domain]/[user], выполните синхронизацию папки и пересчитайте квоту:
docker compose exec dovecot-animails doveadm force-resync -u restoreme@example.net '*'
docker compose exec dovecot-animails doveadm quota recalc -u restoreme@example.net
docker-compose exec dovecot-animails doveadm force-resync -u restoreme@example.net '*'
docker-compose exec dovecot-animails doveadm quota recalc -u restoreme@example.net