Документация / Администрирование

Резервные копии

Обновлено 11.10.2026

backup сохраняет выбранные данные в обычный несжатый tar-архив через /bin/tar из пакета sbase. Утилита проверяет структуру архива перед публикацией и восстановлением. Она не запускается автоматически.

Создание копии

mkdir -p /var/backups
backup create /var/backups/server.tar
backup test /var/backups/server.tar
backup list /var/backups/server.tar

По умолчанию сохраняются существующие каталоги /etc, /var/lib/setup, /root и /var/www. Архив содержит относительные пути. У него права 0600: внутри могут находиться парольные хэши и приватные SSH-ключи. Ограничьте доступ также к каталогу хранения копий.

Можно выбрать другие каталоги относительно корня системы:

backup create /var/backups/web.tar etc var/www
backup create /var/backups/data.tar --root /srv data

Каталог назначения архива не должен находиться внутри выбранных данных. /proc, /dev, /sys и /tmp запрещены. Загрузочный раздел /boot можно выбрать только явно:

backup create /var/backups/boot.tar --include-boot boot

Утилита не переходит на другой смонтированный файловый раздел внутри выбранного каталога: для него создайте отдельную копию. Первая версия поддерживает обычные файлы и каталоги. Символические и жёсткие ссылки, устройства, FIFO и расширенные заголовки tar не поддерживаются; такие данные приводят к ошибке, а не пропускаются молча. У некоторых систем /etc содержит ссылки: в этом случае выбирайте конкретные обычные файлы или каталоги без ссылок.

Новая копия сначала создаётся во временном файле рядом с архивом. После успешного завершения tar, проверки заголовков и записи на диск она заменяет прежний архив через rename. При ошибке создания прежний архив сохраняется. Для согласованной копии изменяемых данных предварительно остановите записывающую их службу: это файловая копия, а не снимок работающего приложения.

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

backup restore /var/backups/server.tar /var/restore-server

Нужно явно указать пустой каталог. Если его нет, утилита создаёт его с правами 0700; родительский каталог должен существовать. Восстановление в занятый каталог, включая корень работающей системы, запрещено. Проверьте распакованные данные и затем перенесите нужные файлы на место при остановленной службе.

При распаковке tar восстанавливает права файлов, включая 0600 для секретов; при запуске от root также сохраняются владельцы. Если распаковка прервалась, каталог назначения может содержать часть файлов: утилита сообщает об ошибке.

test проверяет заголовки, контрольные суммы заголовков, безопасные пути, типы файлов и полноту архива. Контрольных сумм содержимого каждого файла и шифрования в этой версии нет. Для хранения вне сервера используйте защищённый канал передачи и отдельное доверенное хранилище.

Периодическое создание

После проверки ручного создания можно добавить строку в /etc/crontab:

15 3 * * * /bin/backup create /var/backups/server.tar

В системном cron SynapseOS используются пять полей времени и команда, без дополнительного поля пользователя. Этот пример обновляет одну копию ежедневно; историю копий и свободное место нужно организовать отдельно.