Repository navigation
Backups
Ελληνικά · English
Τα χτυπήματα της ψηφιακής κάρτας εργασίας πρέπει να φυλάσσονται για τουλάχιστον 5 χρόνια (επιβεβαιώστε το με τον λογιστή σας). Η Karta δεν σβήνει ποτέ πραγματικό χτύπημα: όλα μένουν στη βάση της. Ο κίνδυνος είναι να χαλάσει το μηχάνημα (π.χ. η κάρτα microSD του Raspberry Pi), γι' αυτό χρειάζεται αντίγραφο και εκτός του μηχανήματος.
Κάθε αντίγραφο είναι ολόκληρη η βάση: όλοι οι εργαζόμενοι, όλα τα χτυπήματα από την αρχή, τα ωράρια και οι ρυθμίσεις. Αρκεί λοιπόν το πιο πρόσφατο για να τα πάρετε όλα πίσω.
Δύο αντίγραφα κάθε βράδυ, ανεξάρτητα μεταξύ τους:
| Πού | Ποιος το κάνει | Τι κρατά |
|---|---|---|
Στο μηχάνημα (~/karta/backups) και, αν το ρυθμίσετε, σε USB
|
το backup.sh που βάζει ο οδηγός ρύθμισης, στις 23:30 |
daily/ 30 ημέρες · monthly/ το τελευταίο κάθε μήνα, για 24 μήνες · yearly/ ένα για κάθε έτος, για πάντα · karta.env (οι ρυθμίσεις, για την επαναφορά) |
| Στο cloud, κρυπτογραφημένο | η ίδια η Karta, στις 23:40 | ένα «στιγμιότυπο» για καθεμία από τις 30 τελευταίες ημέρες, ένα για κάθε μήνα (24 μήνες) και ένα για κάθε έτος, για πάντα |
Το αποτέλεσμα φαίνεται στη σελίδα διαχείρισης, στις «Ρυθμίσεις» → «Αντίγραφα ασφαλείας» («Στο μηχάνημα: … ✓ · USB ✓» και «Cloud (…): … ✓»). Αν σταματήσουν τα αντίγραφα ή αποτύχει κάποιο, έρχεται ειδοποίηση (και στο κινητό).
Βάλτε ένα ή και τα δύο.
Για όλους, και η μόνη επιλογή σε VPS / cloud server (π.χ. Oracle Cloud), όπου δεν υπάρχει USB. Τα αντίγραφα κρυπτογραφούνται στο μηχάνημά σας πριν ανέβουν (με το restic, που υπάρχει μέσα στην Karta): ούτε ο πάροχος του cloud μπορεί να τα διαβάσει.
Πιάνουν πολύ λίγο χώρο: κάθε στιγμιότυπο είναι ολόκληρη η βάση και ανοίγει μόνο του, αλλά στο cloud αποθηκεύεται μόνο ό,τι άλλαξε από το προηγούμενο, και συμπιεσμένο. Παράδειγμα: μια βάση περίπου 6 MB → περίπου 1 MB την ημέρα, 20–25 MB για τα 30 ημερήσια, και περίπου 1 MB για κάθε μηνιαίο: γύρω στα 50 MB μετά από δύο χρόνια, αντί για μισό GB με ολόκληρα αντίγραφα κάθε βράδυ. Ένας δωρεάν λογαριασμός Google Drive (15 GB) φτάνει άνετα.
Κάθε βράδυ ανεβαίνει μόνο το νέο στιγμιότυπο: στο Google Drive κρατά περίπου ένα λεπτό, γιατί κάθε φορά η σύνδεση με το Drive θέλει τον χρόνο της, όσο μικρή κι αν είναι η βάση. Όσα δεν κρατιούνται πια σβήνονται και ο χώρος τους ελευθερώνεται μία φορά την εβδομάδα, γιατί αυτό χρειάζεται να διαβαστεί όλος ο φάκελος (αργό στο Google Drive· εκείνο το βράδυ κρατά περισσότερο). Ό,τι σβήνεται από το Google Drive σβήνεται οριστικά, δεν πάει στον κάδο. Δίπλα στο αποτέλεσμα φαίνεται και πόσο κράτησε, π.χ. «07/10 23:41 ✓ (1′20″)».
Στις «Ρυθμίσεις» → «Αντίγραφα ασφαλείας»:
-
Στο «Πού» διαλέξτε Google Drive, Dropbox ή Backblaze B2 (10 GB δωρεάν).
-
Για Google Drive / Dropbox χρειάζεται για λίγο ένας υπολογιστής με browser (η σελίδα δείχνει τα ίδια βήματα):
-
κατεβάστε το rclone από rclone.org/downloads και αποσυμπιέστε το zip·
-
ανοίξτε τερματικό σε εκείνο τον φάκελο (Windows: δεξί κλικ μέσα στον φάκελο → «Άνοιγμα στο τερματικό») και τρέξτε, για Google Drive:
- Windows:
.\rclone.exe authorize "drive" - Mac / Linux:
./rclone authorize "drive"
(για Dropbox γράψτε
"dropbox"αντί για"drive")· - Windows:
-
συνδεθείτε στον browser που ανοίγει και πατήστε «Allow»·
-
αντιγράψτε το κείμενο που τυπώνει (ξεκινά με
{"access_token") και επικολλήστε το στη σελίδα.
Για Backblaze B2: φτιάξτε ένα bucket (Private) και ένα Application Key, και γράψτε keyID, applicationKey και το όνομα του bucket.
-
-
Πατήστε «Σύνδεση και πρώτο ανέβασμα». Η σύνδεση κρατά λίγο: στο τέλος ανεβαίνει αμέσως το πρώτο αντίγραφο, και η σελίδα γράφει αν πέτυχε. Η Karta δείχνει έναν κωδικό κρυπτογράφησης μία φορά. Γράψτε τον σε χαρτί ή σε διαχειριστή κωδικών. Για να κλείσει το πλαίσιο γράφετε τους 4 τελευταίους χαρακτήρες του και πατάτε «Τον σημείωσα».
⚠ Ο κωδικός κρυπτογράφησης δεν ανακτάται με κανέναν τρόπο. Τα αντίγραφα κρυπτογραφούνται στο μηχάνημα πριν ανέβουν, και τα ανοίγει μόνο αυτός ο κωδικός. Δεν υπάρχει «ξέχασα τον κωδικό»: δεν μπορεί να τον ανακτήσει ούτε η Karta, ούτε η Google, η Dropbox ή η Backblaze, ούτε κανείς άλλος. Όσο δουλεύει το μηχάνημα, ο κωδικός είναι αποθηκευμένος εκεί· τον χρειάζεστε ακριβώς όταν το μηχάνημα χαλάσει ή χαθεί, και τότε χωρίς αυτόν το αρχείο χτυπημάτων (που πρέπει να φυλάσσεται για χρόνια) χάνεται. Κρατήστε τον σε χαρτί εκτός καταστήματος ή σε διαχειριστή κωδικών, και πείτε σε κάποιον που εμπιστεύεστε πού είναι. Όσο δουλεύει το μηχάνημα, το «Εμφάνιση κωδικού κρυπτογράφησης» (δίπλα στο «Ανέβασμα τώρα») τον ξαναδείχνει, αν δεν τον γράψατε. (Τα αντίγραφα στο μηχάνημα και στο USB δεν είναι κρυπτογραφημένα και δεν τον χρειάζονται.)
Στο Google Drive τα αρχεία μπαίνουν στον φάκελο Karta-backups (κρυπτογραφημένα κομμάτια,
που δεν ανοίγουν με διπλό κλικ· η Karta βλέπει μόνο τα αρχεία που φτιάχνει η ίδια). «Ανέβασμα τώρα» ανεβάζει
αμέσως ένα αντίγραφο· «Αποσύνδεση cloud» σταματά τα ανεβάσματα (όσα έχουν ανέβει
μένουν).
«Η πρόσβαση στο cloud έληξε — συνδέστε ξανά»: κάντε ξανά τα βήματα 2–3 με νέο κωδικό πρόσβασης. Η Karta κρατά τον ίδιο κωδικό κρυπτογράφησης και συνεχίζει στα ίδια αντίγραφα· δεν χρειάζεται να τον γράψετε. Αν η νέα σύνδεση αποτύχει, η προηγούμενη ρύθμιση μένει όπως ήταν (η Karta δοκιμάζει τη νέα χωριστά και την κρατά μόνο αν δουλέψει).
«Το cloud άργησε να απαντήσει»: το Google Drive (ή η σύνδεση του μηχανήματος) δεν απάντησε εγκαίρως. Συνήθως είναι προσωρινό: η Karta ξαναδοκιμάζει μόνη της μετά από μία ώρα, και κάθε ώρα μέχρι να πετύχει· μπορείτε και να πατήσετε «Ανέβασμα τώρα». Τα αντίγραφα που έχουν ήδη ανέβει δεν επηρεάζονται. Αν συμβαίνει συχνά, δοκιμάστε το Backblaze B2.
Για Raspberry Pi ή PC στο κατάστημα ή στο σπίτι. Η σύνδεση ενός USB χρειάζεται δικαιώματα
διαχειριστή στο μηχάνημα, που η σελίδα διαχείρισης σκόπιμα δεν έχει, οπότε γίνεται μία
φορά από το τερματικό (μέσω ssh):
- Βάλτε ένα USB stick (FAT32, exFAT, NTFS ή ext4· ό,τι έχει μέσα μένει).
cd ~/karta && ./setup.sh usb- Διαλέξτε το USB από τη λίστα. Ο οδηγός το συνδέει μόνιμα (και μετά από επανεκκίνηση) και κάνει αμέσως ένα δοκιμαστικό αντίγραφο.
Κάθε βράδυ τα αντίγραφα γράφονται και στο USB, στον φάκελο karta-backups. Το USB είναι
στο ίδιο μέρος με το μηχάνημα (φωτιά, κλοπή), οπότε συνδυάστε το με το cloud.
Τα αντίγραφα στο USB δεν είναι κρυπτογραφημένα. Είναι οι βάσεις όπως είναι, μαζί με το
karta.env, που έχει τοPIN_KEY(και τον κωδικό ΕΡΓΑΝΗ, αν τον έχετε στο.env). Με αυτά διαβάζονται και ο κωδικός ΕΡΓΑΝΗ και τα PIN που φυλάει η Karta. Όποιος πάρει το USB τα διαβάζει όλα: φυλάξτε το σε ασφαλές μέρος, όπως τα κλειδιά του καταστήματος.
- «Λήψη αντιγράφου τώρα»: κατεβάζει όλη τη βάση σε ένα αρχείο, για να το φυλάξετε όπου θέλετε. Περιέχει στοιχεία του προσωπικού: φυλάξτε το σε ασφαλές μέρος.
- «Αρχείο χτυπημάτων (Excel)»: όλα τα χτυπήματα ενός έτους, ένα ανά γραμμή: ημερομηνία, ώρα, εργαζόμενος, κατάσταση, αριθμός πρωτοκόλλου ΕΡΓΑΝΗ, πότε υποβλήθηκε, αιτιολογία εκπρόθεσμης, τρόπος (PIN/QR) και συσκευή. Ανοίγει χωρίς την Karta, π.χ. σε έλεγχο. Καλή πρακτική: κάθε Ιανουάριο κατεβάστε το αρχείο του προηγούμενου έτους και φυλάξτε το μαζί με τα λογιστικά.
Στις «Ρυθμίσεις» → «Αντίγραφα ασφαλείας» → «Επαναφορά»:
-
«Από αρχείο…»: ένα αντίγραφο που έχετε (από «Λήψη αντιγράφου τώρα», από το USB, ή
από τον φάκελο
backups). - «Από το cloud…»: διαλέγετε στιγμιότυπο (ημερομηνία και ώρα) από τη λίστα.
Πρώτα εμφανίζεται τι έχει το αντίγραφο (επιχείρηση, εργαζόμενοι, χτυπήματα, τελευταίο
χτύπημα) και τίποτα δεν αλλάζει. Με «Επαναφορά τώρα» η τωρινή βάση κρατιέται ως
before-restore-….db (δίπλα στη βάση) και το αντίγραφο παίρνει τη θέση της, χωρίς
επανεκκίνηση. Αν το αντίγραφο φτιάχτηκε σε άλλο μηχάνημα (άλλο PIN_KEY): ένα αντίγραφο από
το cloud (έκδοση 1.7.5 και μετά) έχει μαζί το κλειδί του, και η Karta το χρησιμοποιεί
αυτόματα. Ένα αρχείο, ή παλαιότερο αντίγραφο, δεν το έχει: η σελίδα το λέει, και ο κωδικός
ΕΡΓΑΝΗ και τα PIN δεν εμφανίζονται μέχρι να βάλετε το παλιό PIN_KEY στο .env (υπάρχει
στο karta.env των αντιγράφων) ή να τα ξαναγράψετε.
Βήμα προς βήμα, για VPS και για τοπικό μηχάνημα:
Ανάκτηση μετά από καταστροφή. Χρειάζεστε μόνο τον κωδικό
κρυπτογράφησης: το στιγμιότυπο στο cloud έχει τη βάση και το κλειδί των κωδικών της
(PIN_KEY), που η Karta παίρνει μόνη της στην επαναφορά.
Για όταν η σελίδα διαχείρισης δεν ανοίγει. Παίρνει αντίγραφο από το μηχάνημα
(backups/) ή από το USB, φέρνει και τις ρυθμίσεις (karta.env) αν λείπει το .env,
ελέγχει το PIN_KEY, κρατά αντίγραφο της τωρινής βάσης και κάνει την επαναφορά:
cd ~/karta && ./setup.sh restore
./setup.sh restore /mnt/karta-usb/karta-backups/daily/karta-2026-10-05.db # ή ένα συγκεκριμένο αρχείοΑν δεν χρησιμοποιείτε το setup.sh, το cloud της σελίδας διαχείρισης δουλεύει κανονικά.
Για αντίγραφο της βάσης ενώ η Karta τρέχει, χρησιμοποιήστε την εντολή backup της SQLite
(όχι απλό cp):
docker compose exec -T karta python -c "import sqlite3; s=sqlite3.connect('/data/workcard.db'); d=sqlite3.connect('/data/backup.db'); s.backup(d); d.close()"
docker compose cp karta:/data/backup.db karta-$(date +%F).dbΦυλάξτε και το .env, ιδίως το PIN_KEY.
Εγκατάσταση
- Εύκολη εγκατάσταση
- Εγκατάσταση
- Ρυθμίσεις server
- Δικός σας reverse proxy
- Έναρξη λειτουργίας
- Αντίγραφα ασφαλείας
- Ανάκτηση μετά από καταστροφή
Οθόνη καταστήματος
Σελίδα διαχείρισης
Πώς λειτουργεί
Home · Easy installation · Installation · Configuration · Reverse proxy · Going live · Backups · Disaster recovery · Shop screen · QR cards · Today · Schedules · Reports · Settings · Ergani · Alerts · Security · FAQ · Disclaimer