Перейти к содержанию

Восстановление

Восстановление

Переменные для скрипта резервного копирования/восстановления

Многопоточность

С обновлением 2022-10 появилась возможность запускать скрипт с поддержкой многопоточности. Это применимо как для создания резервных копий, так и для восстановления.

Чтобы запустить восстановление/резервное копирование в многопоточном режиме, необходимо добавить переменную окружения THREADS перед командой выполнения скрипта.

THREADS=14 /opt/animails/helper-scripts/backup_and_restore.sh restore
Число после символа = указывает на количество потоков. Пожалуйста, оставьте количество ядер вашего процессора минус 2, чтобы сохранить достаточно мощностей для самой системы animails.

Путь к резервной копии

Скрипт запросит путь к месту хранения резервных копий. Внутри этого каталога будут созданы папки в формате "animails_DATE". Не следует переименовывать эти папки, чтобы не нарушить процесс восстановления.

Чтобы запустить восстановление в автоматическом режиме, определите MAILCOW_BACKUP_LOCATION как переменную окружения перед запуском скрипта:

MAILCOW_BACKUP_LOCATION=/opt/backup /opt/animails/helper-scripts/backup_and_restore.sh restore

Совет

Обе вышеупомянутые переменные можно комбинировать! Например:

MAILCOW_BACKUP_LOCATION=/opt/backup THREADS=14 /opt/animails/helper-scripts/backup_and_restore.sh restore

Восстановление данных

Опасно

Пожалуйста, не копируйте этот скрипт в другое место.

Внимание

Чтобы восстановить резервную копию на новой системе, animails должен быть инициализирован и запущен! Поэтому переустановите animails в соответствии с инструкциями и подождите с восстановлением до тех пор, пока animails не будет запущен в пустом состоянии.

Опасно для старых установок

Перед восстановлением системы animails на новом сервере в чистой папке animails, пожалуйста, проверьте, установлено ли значение MAILDIR_SUB в вашем animails.conf. Если это значение не установлено, не устанавливайте его в новом animails или удалите его, иначе письма НЕ будут отображаться. Dovecot загружает электронную почту из указанной подпапки тома Maildir по пути $DOCKER_VOLUME_PATH/animailsdockerized_vmail-vol-1, и если будут какие-либо изменения по сравнению с исходным состоянием, письма будут недоступны.

Чтобы запустить восстановление, запустите animails и используйте скрипт с параметром "restore".

# Синтаксис:
# ./helper-scripts/backup_and_restore.sh restore

Скрипт запросит путь к резервной копии, содержащей папки animails_DATE:

Backup location (absolute path, starting with /): /opt/backup

Затем будут отображены все доступные резервные копии в указанной папке (в нашем примере /opt/backup):

Found project name animailsdockerized
[ 1 ] - /opt/backup/animails-2023-12-11-13-27-14/
[ 2 ] - /opt/backup/animails-2023-12-11-14-02-06/

Теперь вы можете ввести номер резервной копии, которую хотите восстановить, в данном примере — вторую:

Select a restore point: 2

Скрипт отобразит все компоненты из архива, которые можно восстановить. В нашем случае для процесса бэкапа было выбрано all (все), поэтому здесь появится следующий список:

[ 0 ] - all
[ 1 ] - Crypt data
[ 2 ] - Rspamd data
[ 3 ] - Mail directory (/var/vmail)
[ 4 ] - Redis DB
[ 5 ] - Postfix data
[ 6 ] - SQL DB

Снова выбираем компонент для восстановления. Опция 0 восстанавливает ВСЁ.

Если вы хотите выполнить восстановление на другой архитектуре...

Если вы сделали резервную копию на другой архитектуре, например x86, и теперь хотите восстановить её на ARM64, бэкап Rspamd будет отображаться как несовместимый и его нельзя будет выбрать отдельно. При восстановлении клавишей 0 восстановление Rspamd также будет пропущено.

Пример несовместимого бэкапа Rspamd в меню выбора:

[...]
[ NaN ] - Rspamd data (incompatible Arch, cannot restore it)
[...]

Теперь animails восстановит выбранные вами данные. Пожалуйста, учтите, что восстановление может занять некоторое время в зависимости от размера резервных копий.