🚑 Резервные копии
В контексте самостоятельного размещения серверов резервное копирование имеет решающее значение для смягчения последствий непредвиденных событий, таких как пожары, повреждение баз данных, проблемы с доступом к серверу или нарушения безопасности. Стратегия резервного копирования должна быть адаптирована к важности управляемых вами сервисов и данных. Например, резервное копирование тестового сервера будет малоинтересно, тогда как при работе с критически важными данными для НПО или бизнеса резервное копирование становится гораздо более важным. В этих случаях крайне важно хранить резервные копии в одном или, в идеале, в нескольких местах.
Ручное резервное копирование
YunoHost поставляется с системой резервного копирования, которая позволяет создавать резервные копии (и восстанавливать) системные конфигурации, данные (например, электронную почту) и приложения, если они поддерживают эту функцию.
Вы можете управлять резервными копиями как из командной строки (yunohost backup --help)), так и из веб-интерфейса администрирования (в разделе «Резервное копирование»), хотя некоторые функции пока недоступны в веб-интерфейсе.
В настоящее время по умолчанию используется метод создания архива .tar, содержащего все необходимые файлы.
Создание резервных копий
- Из веб-интерфейса
- Из командной строки
Создать резервные копии можно легко через веб-интерфейс администратора, перейдя в раздел Резервное копирование > Локальное хранилище (Backups > Local storage) и нажав кнопку Создать резервную копию (New backup). Затем вам будет предложено выбрать, какие конфигурации, данные и приложения вы хотите зарезервировать.

Создать новый архив резервной копии можно из командной строки. Вот несколько простых примеров команд и их поведения:
— Создание резервной копии всего (всех компонентов системы и приложений):
yunohost backup create
— Резервное копирование только приложений:
yunohost backup create --apps
— Создаются резервные копии только двух приложений (WordPress и shaarli):
yunohost backup create --apps wordpress shaarli
— Резервное копирование только электронных писем:
yunohost backup create --system data_mail
— Резервное копирование электронной почты и WordPress:
yunohost backup create --system data_mail --apps wordpress
Для получения дополнительной информации и параметров создания резервных копий обратитесь к команде yunohost backup create --help. Вы также можете перечислить компоненты системы, которые можно скопировать, с помощью команды yunohost hook list backup.
Загрузка резервных копий
- Из веб-интерфейса
- С помощью клиента SFTP
- Из командной строки
После создания резервных копий их можно просмотреть и отобразить в соответствующих окнах веб-интерфейса администрирования. Кнопка позволяет загрузить архив. Если размер архива превышает 3 ГБ, лучше использовать протокол SFTP.
Backup > Local Archives > <Archive name> > Download
В настоящее время наиболее доступный способ загрузки больших архивов — использование программы FileZilla, как описано на этой странице.
По умолчанию резервные копии хранятся в /home/yunohost.backup/archives/.
Команды yunohost backup list и yunohost backup info <archive_name> предоставляют информацию об именах и размерах резервных копий.
Для копирования файлов между двумя компьютерами через командную строку можно использовать scp (программу, основанную на ssh). Так, на компьютере под управлением GNU/Linux для загрузки архива можно воспользоваться следующей командой:
scp admin@your.domain.tld:/home/yunohost.backup/archives/<archive_name>.tar ./
Если ваш SSH-порт отличается от 22
scp -P ssh_port admin@your.domain.tld:/home/yunohost.backup/archives/<archive_name>.tar ./
Не забудьте хранить резервную копию отдельно от сервера.
При желании вы можете подключить к серверу внешний диск, чтобы архивы сохранялись непосредственно на него. Ознакомьтесь с руководством по подключению внешнего хранилища к серверу.
Тестирование
Следует регулярно проверять резервные копии — как минимум просматривать содержимое архивов и сверять размер соответствующих данных. Лучше всего регулярно практиковаться в восстановлении данных.
# List the files
tar -tvf /home/yunohost.backup/archives/ARCHIVE.tar | less
# List database exports
tar -tvf /home/yunohost.backup/archives/ARCHIVE.tar | grep "(db|dump)`.sql"
# Check the weight
ls -lh /home/yunohost.backup/archives/ARCHIVE.tar
Восстановление из резервных копий
СПОЙЛЕР: Чем больше объём ваших данных и количество приложений, тем сложнее будет процесс восстановления.
Простой случай: мало данных, архив уже есть
- Из веб-интерфейса
- Из командной строки
Перейдите в раздел «Резервное копирование» > «Локальное хранилище» (Backup > Local storage) и выберите свой архив. Затем выберите элементы, которые хотите восстановить, и нажмите кнопку «Восстановить» ('Restore').

В командной строке можно выполнить команду yunohost backup list, чтобы получить список имен доступных архивов. По сути, это имена файлов без расширений.
Затем для восстановления архива можно выполнить команду yunohost backup restore <archivename> (указывая имя без расширения .tar). Что касается команды yunohost backup create, то по умолчанию она восстанавливает всё содержимое архива. Если же вы хотите восстановить только определённые элементы, можно воспользоваться командой вида yunohost backup restore <archivename> --apps wordpress— она восстановит только приложение WordPress.
В случае полного восстановления можно выполнить восстановление вместо запуска исходной конфигурации.
Для восстановления приложения домен, на котором оно было установлено, уже должен быть настроен (либо необходимо восстановить соответствующую системную конфигурацию). Кроме того, невозможно восстановить приложение, которое уже установлено, — это означает, что для восстановления старой версии приложения его сначала нужно удалить.
Выгрузка архива
Зачастую архив находится не на том сервере, на котором вы хотите его восстановить. Поэтому его необходимо загрузить, что — в зависимости от размера архива — может занять больше или меньше времени.
- С помощью клиента SFTP
- Из командной строки
На данный момент самым доступным решением для загрузки резервных копий является использование программы FileZilla, как описано на этой странице.
По умолчанию резервные копии размещаются в /home/yunohost.backup/archives/.
Для копирования файлов между двумя машинами из командной строки можно использовать scp (команду, основанную на ssh). Например, в терминале Linux:
scp /path/to/your/<archive_name>.tar admin@your.domain.tld:/home/yunohost.backup/archives/
Если ваш SSH-порт отличается от 22
scp -P ssh_port /path/to/your/<archive_name>.tar admin@your.domain.tld:/home/yunohost.backup/archives/