Repository navigation
Server Backup und Update
Für wen ist diese Seite? Für dich, wenn du SmallTime betreust. Hier steht, welche Dateien du sichern musst, wie du eine Sicherung zurückholst und wie du SmallTime auf eine neue Version bringst, ohne Daten zu verlieren.
- Die automatische Tageskopie
- Was du sichern musst
- So machst du ein vollständiges Backup
- Ein Backup zurückholen
- Update auf eine neue Version
- Wo sehe ich die Version?
SmallTime macht jeden Tag selbst eine Kopie der Datenbank:
- Wann? Bei der ersten erfolgreichen Anmeldung des Tages. Meldet sich um 7 Uhr jemand an, entsteht die Kopie dann. Pro Tag gibt es höchstens eine Kopie. Meldet sich an einem Tag niemand an (z. B. am Sonntag), gibt es für diesen Tag keine Kopie.
-
Wo? Im Ordner
data/backups. -
Name?
DB_JJJJ.MM.TT.sqlite, zum BeispielDB_2027.03.14.sqlite. Das Datum ist der Vortag der Kopie, also der letzte vollständige Tag. - Die Kopie entsteht im Hintergrund, während SmallTime läuft. Niemand merkt etwas davon.
Warning
Die Tageskopie enthält nur die Datenbank. Hochgeladene Dateien, PDF-Dokumente und Einstellungen sind nicht dabei. Ausserdem liegt sie auf demselben Computer. Geht die Festplatte kaputt, ist auch die Kopie weg. Kopiere deshalb regelmässig alles auf ein anderes Laufwerk, einen USB-Stick oder einen Netzwerkspeicher.
Damit die Festplatte nicht voll wird, löscht SmallTime alte Kopien selbst. Es bleiben:
| Zeitraum | Was bleibt |
|---|---|
| die letzten 7 Tage | jede Tageskopie |
| die letzten 4 Wochen | die letzte Kopie jeder Woche |
| die letzten 12 Monate | die letzte Kopie jedes Quartals (31.03., 30.06., 30.09., 31.12.) |
| ältere Jahre | die letzte Kopie jedes Jahres, für immer |
Das sind nach einem Jahr etwa 13 und nach zehn Jahren etwa 22 Kopien.
Beispiel: Heute ist der 18.09.2026. Im Ordner liegen dann ungefähr:
-
DB_2026.09.11bisDB_2026.09.17(die letzten 7 Tage), -
DB_2026.08.23,DB_2026.08.30,DB_2026.09.06(je das Ende der Wochen davor), -
DB_2025.12.31,DB_2026.03.31,DB_2026.06.30(Quartalsenden), -
DB_2024.12.31,DB_2023.12.31usw. (Jahresenden).
Note
Gelöscht werden nur Dateien mit dem Namen DB_JJJJ.MM.TT.sqlite. Eigene Dateien in data/backups (z. B. vor-update.sqlite) lässt SmallTime in Ruhe. Willst du eine Kopie für immer behalten, benenne sie um oder kopiere sie woanders hin.
| Datei / Ordner | Inhalt | Wichtig |
|---|---|---|
data/app.sqlite |
die Datenbank: Personen, Zeiten, Absenzen, Salden, Einstellungen, Lizenz | ★★★ |
data/documents/ |
PDF-Dokumente, z. B. das Archiv aus SmallTime PHP | ★★★ |
uploads/ |
hochgeladene Dateien | ★★★ |
.env |
Adresse und geheimer Schlüssel | ★★ |
config/ |
backend.json und security.json
|
★★ |
data/custom.css |
eigene Farben und Gestaltung | ★ |
data/backups/ |
die Tageskopien | ★ |
Nicht sichern musst du: node_modules/, dist/, public/, app.cjs (die bekommst du mit jedem Paket neu).
Tip
Am einfachsten sicherst du den ganzen SmallTime-Ordner ohne node_modules.
Die Datenbank darf nicht kopiert werden, während SmallTime gerade hineinschreibt. Deshalb:
- SmallTime beenden (Ctrl + C im Konsolenfenster, oder in der Aufgabenplanung Beenden).
- Den SmallTime-Ordner (ohne
node_modules) an einen sicheren Ort kopieren, zum Beispiel nachE:\Backup\SmallTime_2027-03-14. - SmallTime wieder starten (
npm start).
Note
Wenn du SmallTime nicht beenden kannst: Kopiere statt data/app.sqlite die neueste Tageskopie aus data/backups. Diese ist immer vollständig und in Ordnung. Die anderen Ordner kannst du auch im laufenden Betrieb kopieren.
Die Datenbank aus einer Tageskopie zurückholen:
- SmallTime beenden.
- Im Ordner
datadie Dateiapp.sqliteumbenennen, zum Beispiel inapp.sqlite.defekt. - Im Ordner
datadie Dateienapp.sqlite-walundapp.sqlite-shmlöschen, falls vorhanden. Diesen Schritt nicht vergessen: Diese zwei Dateien gehören zur alten Datenbank und können die zurückgeholte Datenbank beschädigen. - Die gewünschte Kopie aus
data/backups, z. B.DB_2027.03.14.sqlite, in den Ordnerdatakopieren und inapp.sqliteumbenennen. - SmallTime starten und prüfen, ob alles da ist.
Important
Alles, was nach dem Datum der Kopie erfasst wurde (Stempel, Absenzen, Änderungen), ist danach weg und muss neu erfasst werden.
Aus einem vollständigen Backup zurückholen: SmallTime beenden, die Ordner data, uploads, config und die Datei .env aus dem Backup an ihre Stelle kopieren (vorher die -wal/-shm-Dateien in data löschen), SmallTime starten.
Bei einem Update ersetzt du nur die Programmdateien. Deine Daten und Einstellungen bleiben, wo sie sind.
Caution
Nie überschreiben oder löschen: .env, config/, data/, uploads/, convert/. Sonst gehen Einstellungen oder Daten verloren oder alle Personen werden abgemeldet.
-
Backup machen (siehe oben). Das ist wichtig: Eine neue Version passt die Datenbank beim Start an. Zurück zur alten Version geht danach nur mit dem Backup.
-
Das neue SmallTime-Paket herunterladen und in einen separaten Ordner entpacken, z. B.
C:\SmallTime-neu. -
SmallTime beenden.
-
Aus dem neuen Paket nur diese Dateien und Ordner in deinen SmallTime-Ordner kopieren und die alten ersetzen:
app.cjsdist/public/package.jsonpackage-lock.json
Lösche die alten Ordner
distundpublicam besten zuerst und kopiere dann die neuen hinein. So bleiben keine alten Dateien übrig. Das neue Paket enthält eventuell auch eine.envund einen Ordnerconfig: diese nicht mitkopieren. -
Konsolenfenster im SmallTime-Ordner öffnen und eingeben:
npm install --omit=dev
-
SmallTime starten:
npm start
Beim Start bringt SmallTime die Datenbank automatisch auf den neuen Stand. Du musst dafür nichts tun.
-
Im Browser anmelden und die Version prüfen (siehe unten).
Tip
Steht in den Hinweisen zur neuen Version, dass es neue Einstellungen in config/ gibt? Dann vergleiche die Dateien im Ordner config des neuen Pakets mit deinen und übernimm nur die neuen Zeilen. Fehlt eine Einstellung, verwendet SmallTime einen Standardwert.
- Als Admin anmelden.
- Administration öffnen.
- Ganz unten im Menü links steht:
-
SmallTime – die Version, z. B.
V1.0oderV0.9.5 Beta -
Node – die Version von Node.js, z. B.
v26.9.0 - Server – das Betriebssystem
-
SmallTime – die Version, z. B.
Die Version steht auch in der Datei package.json im SmallTime-Ordner (Zeile "version").
Weiter mit: Installation Schritt für Schritt · Lizenz · Sicherheit und Betrieb (für die Informatik)
SmallTime 2027 · Version 1.0 · Zur Startseite · Fragen? Zuerst in den häufigen Fragen für Anwender oder Admins nachsehen.
👤 Anwender
🧑💼 Admins
- Erste Schritte
- Personen
- Arbeitsmodelle
- Ferien und Absenzen
- Saldo und Auszahlungen
- Monatsabschluss
- Gruppen und Rechte
- Stammdaten
- Einstellungen
- Terminals und Badges
- Protokoll und Sicherheit
- Häufige Fragen
🛠️ Einrichten
💻 Informatik (nur Fachleute)