Домой / Руководства / Рестическое резервное копирование

Зашифрованные резервные копии вне сайта беспокойный

Ежедневные снимки вашего хозяина — это страховка от ошибок, а не от потери всего хозяина. Реальные резервные копии живут в другом месте и зашифрованы. Рестик делает и то, и другое, и это один двоичный.

1.Установить рестайлинг

apt update && apt install -y restic

Restic пишет один зашифрованный репозиторий. Он может работать на S3, Backblaze B2, другом сервере по SFTP или даже втором Buran VPS.

2. Создать репозиторий

export RESTIC_REPOSITORY="sftp:backup@other-host:/srv/backups/myserver"
export RESTIC_PASSWORD="a-long-unique-passphrase"
restic init

Держите парольную фразу в менеджере паролей. Если вы потеряете его, данные исчезнут — это точка шифрования. Для автоматических заданий храните его в файле среды, читаемом только root:

cat > /etc/restic.env <<'EOF'
RESTIC_REPOSITORY=sftp:backup@other-host:/srv/backups/myserver
RESTIC_PASSWORD=change-me
EOF
chmod 600 /etc/restic.env

3. Первое подкрепление.

set -a; . /etc/restic.env; set +a
restic backup /etc /root /home /var/www --exclude-caches
restic snapshots

Базам данных нужен свалка, а не копия файла: запущенный каталог данных PostgreSQL непоследователен. Сначала сбросьте, а затем верните папку сброса. Увидеть наш Руководство PostreSQL Для команды демпинга.

4. Запускайте его ночью с помощью системного таймера

cat > /etc/systemd/system/restic-backup.service <<'EOF'
[Unit]
Description=restic backup
[Service]
Type=oneshot
EnvironmentFile=/etc/restic.env
ExecStart=/usr/bin/restic backup /etc /root /home /var/www --exclude-caches
ExecStartPost=/usr/bin/restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune
EOF
cat > /etc/systemd/system/restic-backup.timer <<'EOF'
[Unit]
Description=Nightly restic backup
[Timer]
OnCalendar=*-*-* 03:30:00
Persistent=true
[Install]
WantedBy=timers.target
EOF
systemctl daemon-reload
systemctl enable --now restic-backup.timer

5.Испытывать восстановление — сегодня, не в экстренной ситуации

set -a; . /etc/restic.env; set +a
restic snapshots
restic restore latest --target /tmp/restore-test
ls -la /tmp/restore-test/etc

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

Быстрые ответы

Где должен жить резервный репозиторий?

В любом месте, кроме машины, которую вы резервируете: объектное хранилище, такое как Backblaze B2, другой сервер через SFTP или второй VPS. Резервные копии на том же хосте не выживают в потерянном хосте.

Сколько места мне нужно?

Рестические дубликаты и сжатия, поэтому типичный сервер редко вырастает более чем на несколько ГБ в месяц изменений. 50-100 ГБ удаленного хранилища достаточно для небольшого сервера.

Мне все еще нужны снимки хозяина?

Да. Снимки Buran восстанавливают целую машину за один клик и идеально подходят для «Я сломал ее пять минут назад». Рестическое резервное копирование вне сайта покрывает потерю оборудования и ошибки оператора, которые переживают окно моментального снимка.

Нужна вторая машина для хранения резервных копий? Коробка за 3 евро NAT отлично работает.

связанный