Знакомство, основы, развертывание.
Глава 1: Restic — Знакомство, установка и подготовка
Резервное копирование — это то, о чем вспоминают за секунду до того, как станет слишком поздно. Данное руководство поможет настроить надежную, зашифрованную и полностью автоматическую систему бэкапов на базе утилиты Restic для сервера под управлением Debian Linux.
1. Что такое Restic и почему он хорош?
Restic — это консольная утилита для резервного копирования, написанная на Go. В отличие от старых инструментов вроде tar или rsync, Restic изначально создавался с прицелом на безопасность и скорость в современных реалиях.
Ключевые преимущества:
2. Установка Restic на Debian
Поскольку сервер под управлением Debian уже запущен и готов к работе, установка займет меньше минуты. Restic находится в официальных репозиториях Debian.
Обнови списки пакетов и установи утилиту:
sudo apt update && sudo apt install restic -y
После установки проверь, что всё встало корректно, запросив версию программы:
restic version
На экране должно появиться что-то вроде: restic 0.16.x compiled with go1.2x.
3. Безопасность: Создание скрытого файла пароля
Restic полностью зашифрован. Чтобы выполнять бэкапы в автоматическом режиме (например, по скрипту), ему нужно передавать пароль от репозитория. Хранить пароль открытым текстом в истории команд или внутри тела скрипта — огромная дыра в безопасности.
Правильный подход — создать отдельный файл пароля в домашней директории пользователя, скрыв его от всех остальных учетных записей в системе.
stan):
touch /home/stan/.restic_pw
Открой его через текстовый редактор nano:
nano /home/stan/.restic_pw
Введи туда свой сложный пароль (одной строкой, без лишних пробелов) и сохрани файл (Ctrl+O, затем Enter, выход — Ctrl+X).
Самый важный шаг! Заблокируй доступ к файлу для всех, кроме себя:
chmod 600 /home/stan/.restic_pw
Флаг 600 означает: владелец (ты) может читать и писать файл, а все остальные пользователи сервера (и запущенные ими процессы) не смогут его даже открыть.
4. Настройка сетевогольного хранилища (Монтирование Windows-шары)
Хранить бэкапы на том же диске, где крутится система — бессмысленно. Если диск умрет, он заберет с собой и бэкапы. Мы настроим постоянное монтирование сетевой папки, расположенной на компьютере с Windows (SMB/CIFS), так, чтобы она автоматически подключалась при старте сервера Debian.
Шаг 4.1: Установка утилиты монтирования
Для работы с протоколом SMB в Linux нужен специальный драйвер:
sudo apt install cifs-utils -y
Шаг 4.2: Создание папки в Linux
Создай точку монтирования — пустую директорию, в которую "пробросится" сетевой диск Windows:
sudo mkdir -p /mnt/win_backup
Шаг 4.3: Скрытие сетевых учетных данных
Чтобы не писать логин и пароль от учетной записи Windows в системных файлах у всех на виду, создай файл с учетными данными:
sudo nano /etc/win_credentials
Запиши туда логин и пароль от Windows (или от конкретной сетевой папки) в таком формате:
username=ТвойЛогинWindows
password=ТвойПарольWindows
Сохрани файл, закрой его и защити правами доступа:
sudo chmod 600 /etc/win_credentials
Шаг 4.4: Пропись автоматического монтирования в /etc/fstab
Файл /etc/fstab отвечает за диски и шары, которые подключаются при старте системы. Открой его с правами суперпользователя:
sudo nano /etc/fstab
Спустись в самый конец файла и добавь одну строку (замени IP-адрес 192.168.1.100 и имя папки homeserver_backup на свои реальные данные):
//192.168.1.100/homeserver_backup /mnt/win_backup cifs credentials=/etc/win_credentials,uid=1000,gid=1000,iocharset=utf8,x-systemd.automount 0 0
Что значат эти параметры:
uid=1000,gid=1000 — делает твоего локального пользователя Linux владельцем смонтированных файлов, чтобы не было проблем с правами.
x-systemd.automount — умная опция: если во время загрузки сервера компьютер с Windows будет выключен, Linux не зависнет намертво, а примонтирует папку автоматически в тот момент, когда ты впервые к ней обратишься.
Шаг 4.5: Тест монтирования
Выполни команду для принудительного монтирования всех дисков из fstab:
sudo mount -a
Проверь, что папка доступна:
ls -la /mnt/win_backup
Если команда не выдала ошибок и ты видишь содержимое сетевого диска — победа.
5. Инициализация репозитория Restic
Перед тем как делать бэкапы, Restic должен создать в целевой папке свою структуру и сгенерировать ключи шифрования. Этот процесс называется инициализацией. Он выполняется один раз.
Запусти команду создания репозитория, указав путь к нашей смонтированной сетевой папке и созданный ранее файл пароля:
sudo restic -r /mnt/win_backup/homeserver_backup --password-file /home/stan/.restic_pw init
Если всё сделано правильно, Restic напишет:created restic repository c1a2b3c4... at /mnt/win_backup/homeserver_backup
Поздравляем! Базовая инфраструктура готова. Наш репозиторий инициализирован, надежно зашифрован, а сетевой диск Windows жестко привязан к системе и не слетит после перезагрузки.