Восстановление
Восстановление¶
Переменные для скрипта резервного копирования/восстановления¶
Многопоточность¶
С обновлением 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 восстановит выбранные вами данные. Пожалуйста, учтите, что восстановление может занять некоторое время в зависимости от размера резервных копий.