Как настроить автоматическое резервное копирование VPS на внешнее хранилище

🔹 Зачем это нужно
Автоматическое резервное копирование — важная часть защиты данных на сервере. Оно помогает:

  • избежать потери данных при сбое или ошибке пользователя;
  • быстро восстановить VPS после аварии;
  • хранить копии на отдельном хранилище, независимом от сервера.

Рекомендуется настраивать ежедневное или еженедельное копирование на другой сервер или в облако.

⚙️ 1. Подготовка VPS
Убедитесь, что есть SSH-доступ к серверу.

Обновите систему:

sudo apt update && sudo apt upgrade -y

Установите необходимые утилиты.

Для Ubuntu/Debian:

sudo apt install rsync -y

Для CentOS:

sudo yum install rsync -y

Проверьте доступ к удалённому или облачному хранилищу.

🌐 2. Настройка резервного копирования с rsync
rsync — простой и надёжный инструмент для синхронизации данных между серверами. Пример команды:

rsync -avz /var/www/ user@backupserver:/backups/vps1/

Где:

  • /var/www/ — каталог, который нужно копировать;
  • user@backupserver — логин и IP/домен сервера с бэкапами;
  • /backups/vps1/ — путь для сохранения копий.

💡 Совет: настройте SSH-доступ по ключу, чтобы не вводить пароль:

ssh-keygen
ssh-copy-id user@backupserver
☁️ 3. Использование rclone для облачных копий
rclone позволяет сохранять резервные копии в облачных сервисах (Google Drive, Dropbox, AWS S3 и т.д.).

Установка:

sudo apt install rclone -y

или

sudo yum install rclone -y

Настройка:

rclone config

Выберите n (новое подключение), задайте имя (например, gdrive), выберите тип хранилища (Google Drive, S3 и т.д.), авторизуйте доступ.

Пример команды:

rclone sync /var/www/ gdrive:vps-backups --progress

🕒 4. Автоматизация через cron
Чтобы копирование выполнялось автоматически, добавьте задачу в cron.

Откройте редактор:

sudo crontab -e

Добавьте:

0 3 * * * rsync -avz /var/www/ user@backupserver:/backups/vps1/ >> /var/log/backup.log 2>&1

или

0 2 * * * rclone sync /var/www/ gdrive:vps-backups --progress >> /var/log/backup.log 2>&1

Пояснение:

  • 0 3 * * * — запуск каждый день в 03:00;
  • журнал сохраняется в /var/log/backup.log.

🧱 5. Проверка копий

  • Проверьте, создаются ли новые файлы в /backups или в облаке.
  • Убедитесь, что файлы восстанавливаются без ошибок.
  • Периодически удаляйте старые копии, чтобы освобождать место.