Skip to content

UK Backup and Restore

github-actions[bot] edited this page Jun 8, 2026 · 1 revision

Резервне копіювання та відновлення

🤖 Цей український переклад створений з AI-підтримкою з англійського оригіналу. Виправлення приймаються на GitHub.

🌐 Мова: EN · DE · FR · ES · TR · EL · UK

Ваші дані (поїздки, історія заряджання, журнал, налаштування) живуть у базах даних SQLite на вашому сервері. Регулярні резервні копії захищають від збоїв обладнання, випадкового видалення або міграції на новий сервер.


Що потрібно резервувати?

Дані Розташування Розмір (типово)
Master-база даних /app/data/master.db ~1 МБ
Бази даних орендарів /app/data/tenants/*.db ~50 МБ на орендаря (3 роки)
Конфігурація середовища /opt/tesla-carview/backend/.env Мізерно
SSL-сертифікат /etc/letsencrypt/ Мізерно

Docker-образи та код застосунку не потребують резервного копіювання — їх можна повторно завантажити з GitHub у будь-який момент.


Варіант 1: Резервне копіювання у застосунку (рекомендовано для більшості користувачів)

Tesla Carview має вбудовану функцію резервного копіювання:

  1. Перейдіть до Admin → Data → Backup
  2. Натисніть Download Backup
  3. Завантажується JSON-файл, що містить усі 25 таблиць бази даних
  4. Збережіть його в безпечному місці (зовнішній диск, хмарне сховище, інший пристрій)

Відновлення з резервної копії:

  1. Перейдіть до Admin → Data → Restore
  2. Завантажте JSON-файл резервної копії
  3. Введіть фразу підтвердження RESTORE
  4. Відновлення завершується за лічені секунди
  5. Перед відновленням автоматично створюється страхувальна копія поточних даних

Варіант 2: Скрипт автоматичного резервного копіювання

Для безконтрольних резервних копій створіть cron-завдання, що зберігає копію щодня:

# Створити каталог резервних копій
mkdir -p /opt/backups/tesla-carview

# Створити скрипт резервного копіювання
cat > /opt/backups/backup-tesla.sh << 'EOF'
#!/bin/bash
DATE=$(date +%Y%m%d-%H%M)
BACKUP_DIR="/opt/backups/tesla-carview"
DATA_DIR="/var/lib/docker/volumes/tesla_data/_data"

# Скопіювати бази даних
cp "$DATA_DIR/master.db" "$BACKUP_DIR/master-$DATE.db"
cp -r "$DATA_DIR/tenants" "$BACKUP_DIR/tenants-$DATE/"
cp "/opt/tesla-carview/backend/.env" "$BACKUP_DIR/env-$DATE.bak"

# Зберігати лише останні 14 днів
find "$BACKUP_DIR" -name "*.db" -mtime +14 -delete
find "$BACKUP_DIR" -name "*.bak" -mtime +14 -delete
find "$BACKUP_DIR" -type d -name "tenants-*" -mtime +14 -exec rm -rf {} +

echo "Backup done: $DATE"
EOF

chmod +x /opt/backups/backup-tesla.sh

# Додати до cron (запускається щодня о 02:00)
echo "0 2 * * * root /opt/backups/backup-tesla.sh >> /var/log/tesla-backup.log 2>&1" > /etc/cron.d/tesla-backup

Варіант 3: Резервне копіювання поза сайтом (рекомендовано для важливих даних)

Резервна копія на тому самому сервері не захищає від збою сервера. Копіюйте резервні копії поза сайт:

На віддалений SSH-сервер / NAS

# Додайте до вашого скрипту резервного копіювання:
rsync -az /opt/backups/tesla-carview/ user@nas-ip:/backups/tesla-carview/

На Hetzner Storage Box (дешево, ~1€/місяць за 100 ГБ)

# Додайте до вашого скрипту резервного копіювання:
rsync -az /opt/backups/tesla-carview/ your-storagebox.your-storagebox.de:/backups/

До хмарного провайдера (Backblaze B2, AWS S3)

# Встановити rclone (підтримує більшість хмарних провайдерів):
curl https://rclone.org/install.sh | sudo bash
rclone config  # Інтерактивне налаштування вашого хмарного провайдера

# Додати до скрипту резервного копіювання:
rclone sync /opt/backups/tesla-carview/ backblaze:my-bucket/tesla-carview/

Міграція на новий сервер

При переході на новий сервер (оновлення обладнання, зміна VPS):

  1. На старому сервері: Завантажте повну резервну копію через Admin → Data → Backup
  2. На новому сервері: Запустіть скрипт налаштування: curl -fsSL https://raw.githubusercontent.com/KnevS/Tesla-Carview/main/deploy/setup.sh | bash
  3. Увійдіть у нову інсталяцію
  4. Перейдіть до Admin → Data → Restore → завантажте резервну копію
  5. Оновіть запис DNS, щоб він вказував на IP нового сервера
  6. Оновіть Redirect URI у Tesla Developer Portal, якщо ваш домен змінився

Нічне обслуговування (автоматично)

Tesla Carview виконує автоматичне завдання обслуговування щовечора о 03:30 (Берлінський часовий пояс):

  • Видаляє прострочені токени та осиротілі записи
  • Контрольна точка WAL (оптимізація SQLite)
  • VACUUM — повертає дисковий простір, якщо база даних перевищує 50 МБ
  • Якщо AUTO_UPDATE_ENABLED=true: завантажує останній код і перезапускається

Ви можете запустити це вручну:

  • Admin → System → Run Maintenance Now

Або переглянути журнал обслуговування:

  • Admin → System → Maintenance Log

Найкращі практики резервного копіювання

  • Правило 3-2-1: 3 копії, 2 різних типи сховища, 1 поза сайтом
  • Тестуйте резервні копії, фактично відновивши одну (використовуйте функцію Admin → Restore test)
  • Зберігайте резервну копію вашого .env файлу окремо та надійно (він містить облікові дані)
  • Робіть резервну копію перед будь-яким великим оновленням або зміною конфігурації

🌐  EN  ·  DE  ·  FR  ·  ES  ·  TR  ·  EL


🇬🇧 English

🚀 Getting Started

🌐 Network & Infrastructure

⚙️ Configuration

🔐 Security

📱 Reference


🇩🇪 Deutsch

🚀 Einstieg

🌐 Netzwerk & Infrastruktur

⚙️ Konfiguration

🔐 Sicherheit

📱 Referenz


🇫🇷 Français

🚀 Démarrage

🌐 Réseau & Infrastructure

⚙️ Configuration

🔐 Sécurité

📱 Référence


🇪🇸 Español

🚀 Primeros pasos

🌐 Red & Infraestructura

⚙️ Configuración

🔐 Seguridad

📱 Referencia


🇹🇷 Türkçe

🚀 Başlarken

🌐 Ağ & Altyapı

⚙️ Yapılandırma

🔐 Güvenlik

📱 Başvuru


🇬🇷 Ελληνικά

📱 Διαθέσιμο

Περισσότερες σελίδες σύντομα.


📂 Technical Docs (docs/)

Clone this wiki locally