Skip to content

Yedeklemeler

Sosyabot'un verisi MongoDB'de yaşar. Redis yeniden inşa edilebilir; yüklenmiş medya, depolama yapılandırmana bağlı olarak yerel diskte veya S3'te yaşar.

MongoDB

Günlük mongodump baseline'dır. En az 30 gün sakla; uyumluluk duruşun gerektiriyorsa daha uzun.

bash
# Günlük, sunucu yerel saatiyle 03:00'te çalışır
0 3 * * * mongodump --uri "$MONGODB_URL" --gzip --archive=/backups/sosyabot-$(date +\%Y\%m\%d).gz

Geri yükleme:

bash
mongorestore --uri "$MONGODB_URL" --gzip --archive=/backups/sosyabot-20260503.gz

Redis

Redis'i geçici olarak ele al. BullMQ işleri worker yeniden başlatmasında Mongo-destekli zamanlanmış-gönderi kayıtlarından replay olur. Yalnızca rate-limit sayaçlarına veya bir crash'ten kurtulan oturum verisine bağlıysan snapshot al — her ikisi de %99 oranında kurtarılabilir.

Yüklenen medya

Depolaman yerel disk için yapılandırılmışsa, dosya kökü backend/dist/uploads/ (veya config'inin işaret ettiği yer)'dir. rsync veya mevcut dosya-yedekleme aracınla yedekle.

S3 üzerindeysen (veya Backblaze B2 / Cloudflare R2 gibi S3-uyumlu bir store), bucket seviyesinde versioning ve lifecycle kurallarını etkinleştir. Sosyabot, Kütüphane'den silmediğin sürece dosyaları silmez — ve o zaman bile bucket sürümlerini saklamayı öneririz.

Loglar

.logs/api.log, .logs/worker.log, .logs/landing.log, .logs/docs.log veri-içeren değil, operasyoneldir. Disk sıkışıksa logrotate ile döndür; yalnızca forensics için ihtiyacın varsa yedekle.

Yedeklenmemesi gerekenler

  • .run/ PID dizini.
  • node_modules tree'si (pnpm install ile yeniden oluştur).
  • Build çıktıları (backend/dist/, docs/content/.vitepress/dist/ vb. — ./service.sh build ile yeniden oluştur).
  • Redis dump.rdb (yukarıya bak).

Felaket kurtarma checklist'i

  1. Yeni host'u aynı Node sürümüyle hazırla (gerekirse NODE_BIN-pin).
  2. En son mongodump arşivini geri yükle.
  3. Uploads dizinini kopyala veya yeniden mount et (veya bucket'ı yeniden işaret et).
  4. .env'i kopyala (veya secret store'undan geri yükle).
  5. ./service.sh install && ./service.sh build && ./service.sh start.
  6. ./service.sh health — dört bileşen de OK.
  7. /app'ten spot-check yap: oturum aç, son bir gönderiyi çek, bir medya varlığının yüklendiğini doğrula.

İlgili