Finished backup service draft
This commit is contained in:
62
README.md
Normal file
62
README.md
Normal file
@@ -0,0 +1,62 @@
|
||||
# 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](#features)
|
||||
- [Manuelles Backup](#manuelles-backup)
|
||||
- [Umgebungsvariablen](#umgebungsvariablen)
|
||||
|
||||
---
|
||||
|
||||
## 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:
|
||||
|
||||
```bash
|
||||
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
|
||||
Reference in New Issue
Block a user