Post

Бекап VPS на Google Drive через rclone

Бекап VPS на Google Drive через rclone

Попередня стаття описувала бекап на домашній Ubuntu server через rsync. Але що якщо вдома відключать світло або інтернет? Потрібне друге місце — Google Drive ідеально підходить, безкоштовно до 15GB.

Встановлення rclone

1
2
curl https://rclone.org/install.sh | bash
rclone --version

Підключення Google Drive

1
rclone config

Відповідаємо:

  • n — новий remote
  • Name: gdrive
  • Storage: drive (Google Drive)
  • client_id, client_secret: порожньо (Enter)
  • scope: 1 (повний доступ)
  • Use auto config: n (ми на сервері без браузера)

Rclone виведе команду — виконуємо її на Windows:

1
.\rclone.exe authorize "drive" "токен_з_сервера"

Відкриється браузер — авторизуємось в Google. Копіюємо отриманий токен назад на сервер.

Перевірка

1
rclone lsd gdrive:

Має показати папки з Google Drive.

Додаємо в скрипт бекапу

Відкриваємо /root/backup.sh і додаємо перед останнім echo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# === Бекап на Google Drive (раз на тиждень) ===
if [ $(date +%u) -eq 7 ]; then
  echo "Копіюємо на Google Drive..." >> $LOG
  
  # Копіюємо домашні папки з виключенням кешу
  rclone sync /home/ gdrive:backups/vps/home/ \
    --exclude "sedunlab.com/public_html/cache/**" \
    2>> $LOG
    
  # Копіюємо конфігурацію /etc/
  rclone sync /etc/ gdrive:backups/vps/etc/ 2>> $LOG
  
  # Копіюємо docker volumes
  rclone sync /var/lib/docker/volumes/ gdrive:backups/vps/docker/ 2>> $LOG
  
  # Якщо ви хочете також бекапити БД на Google Drive, 
  # варто робити rclone sync ДУБЛЮЮЧИ дамп бази даних перед видаленням /tmp/backup_db,
  # або не видаляти його до завершення перевірки дня тижня.
  
  echo "Google Drive бекап завершено" >> $LOG
fi

Синхронізація запускається тільки по неділях — щоб не витрачати квоту щодня і не уповільнювати щоденний бекап.

Корисні команди

1
2
3
4
5
6
7
8
9
# Перевірити що є на Drive
rclone lsd gdrive:backups/

# Розмір бекапів
rclone size gdrive:backups/vps/


# Видалити тестову папку
rclone purge gdrive:backups/test/

Підсумок — три рівні бекапу

РівеньКудиЯк часто
1Ubuntu server (локалка)Щодня о 3:00
2Google DriveЩонеділі
3Git репозиторійПри кожному push

Три копії в різних місцях — якщо щось піде не так, завжди є звідки відновити.

This post is licensed under CC BY 4.0 by the author.