Бекап 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/
Підсумок — три рівні бекапу
| Рівень | Куди | Як часто |
|---|---|---|
| 1 | Ubuntu server (локалка) | Щодня о 3:00 |
| 2 | Google Drive | Щонеділі |
| 3 | Git репозиторій | При кожному push |
Три копії в різних місцях — якщо щось піде не так, завжди є звідки відновити.
This post is licensed under CC BY 4.0 by the author.
