OneDrive Backup Service

Ein .NET 10 Worker-Service zum automatischen Erstellen und Hochladen von Backups auf OneDrive.
Unterstützt Cron-basierte Backups sowie manuelles Triggern über docker exec.


Inhaltsverzeichnis


Features

  • Automatische Backups nach Cron-Schedule (appsettings.json / ENV)
  • Upload zu OneDrive über Microsoft Graph SDK
  • Behalten nur der letzten N Backups (KeepLast)
  • Unterstützung für manuelles Backup via docker exec
  • Lokale Zeitzone für Logs und Backup-Zeitstempel
  • Flexible Konfiguration über ENV oder appsettings.json

Manuelles Backup

Um ein Backup manuell auf einem laufenden Container auszuführen:

docker exec -it onedrive-backup-server dotnet OneDriveBackupService.dll --run-once
  • Das löst ein sofortiges Backup aus
  • Cron-Loop des Hauptcontainers bleibt ungestört
  • Backup-Dateien werden wie üblich nach OneDrive hochgeladen

Umgebungsvariablen

Variable Beschreibung
Schedule Cron-Expression für automatische Backups
UploadRoot OneDrive Ordner für Backups
LocalRoot Lokaler Datenpfad für Backups
IncludeFile Textdatei mit allen unterordnern, die mit ins Backup sollen
KeepLast Anzahl zu behaltender Backups
TenantId Azure TenantId
ClientId Azure ClientId
ClientSecret Azure Client Secret
UserId OneDrive User Id
TZ Zeitzone für Logs / DateTime.Now (optional)

Hinweise

  • Die Backup-Dateien erhalten eindeutige Namen mit Timestamp: backup_YYYYMMDD_HHMMSS.tar.gz
  • Alte Backups werden automatisch gelöscht, basierend auf KeepLast
  • docker exec --run-once löst ein manuelles Backup aus, ohne den Cron-Loop zu stoppen
Description
No description provided
Readme MIT 39 KiB
Languages
C# 89.6%
Dockerfile 10.4%