d42d6d5d96
Mehrere SFTP-Backup-Ziele konfigurierbar mit:
- Host, Port, Benutzername, Passwort, Remote-Pfad
- Konfigurierbares Intervall (15 Min. bis woechentlich oder deaktiviert)
- Maximale Anzahl aufbewahrter Versionen (aeltere werden automatisch geloescht)
- Aktiv/Inaktiv-Toggle pro Ziel
Features:
- Automatischer Hintergrund-Scheduler prueft alle 60 Sekunden ob
Backups faellig sind und fuehrt sie aus
- Manuelles Backup per Klick ("Jetzt sichern")
- SFTP-Verbindungstest-Button
- Versionen-Dialog: Alle Backup-Versionen auf dem SFTP-Server auflisten
mit Groesse und Datum
- Restore direkt von SFTP: Version auswaehlen -> wird heruntergeladen
und ueber die bestehende DB-Merge-Logik wiederhergestellt
- Chunked Upload zum SFTP in 16MB-Bloecken (fuer grosse Backups)
- Status-Anzeige: Letztes Backup, Erfolg/Fehler, Nachricht
Backend: BackupTarget Model, SFTP-Service (paramiko), Backup-Scheduler
API: /admin/backup/targets CRUD, /test, /run, /versions, /restore
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
19 lines
726 B
Python
19 lines
726 B
Python
from app.models.user import User
|
|
from app.models.file import File, FilePermission, ShareLink
|
|
from app.models.calendar import Calendar, CalendarEvent, CalendarShare
|
|
from app.models.contact import AddressBook, Contact, AddressBookShare
|
|
from app.models.email_account import EmailAccount
|
|
from app.models.password_vault import PasswordFolder, PasswordEntry, PasswordShare
|
|
from app.models.settings import AppSettings
|
|
from app.models.backup_target import BackupTarget
|
|
|
|
__all__ = [
|
|
'User',
|
|
'File', 'FilePermission', 'ShareLink',
|
|
'Calendar', 'CalendarEvent', 'CalendarShare',
|
|
'AddressBook', 'Contact', 'AddressBookShare',
|
|
'EmailAccount',
|
|
'PasswordFolder', 'PasswordEntry', 'PasswordShare',
|
|
'AppSettings',
|
|
]
|