2.3 KiB
2.3 KiB
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-oncelöst ein manuelles Backup aus, ohne den Cron-Loop zu stoppen