7.1 Create Backup
7.1 Create Backup
7.1.1 Εισαγωγή
Η διαχείριση της ακεραιότητας και της διαθεσιμότητας των δεδομένων αποτελεί κεντρικό πυλώνα στον κύκλο ζωής ανάπτυξης λογισμικού (SDLC). Στο πλαίσιο του έργου MyThesis, το οποίο βασίζεται σε περιβάλλον VuePress και δομή LXD containers, υιοθετήθηκε μια διττή στρατηγική αντιγράφων ασφαλείας (Dual-Layered Backup Strategy). Αυτή η στρατηγική διασφαλίζει την άμεση ανάκτηση και την απομακρυσμένη διατήρηση των κρίσιμων αρχείων, χρησιμοποιώντας την ασφαλή μεταφορά SSH/rsync.
7.1.2 Ολοκληρωμένο Σύστημα Backup Κατόπιν Ζήτησης (Script: bck-lcl)
Η βασική διαδικασία αντιγράφων ασφαλείας υλοποιείται μέσω του script bck-lcl, το οποίο ενεργοποιείται κατά βούληση από τον χρήστη για πλήρη διατήρηση του κώδικα και των πόρων.
7.1.2.1 Δομή και Λειτουργία
Το script bck-lcl εκτελείται από τον χρήστη μέσω sudo bck-lcl (διασφαλίζοντας τα δικαιώματα root για chown και find -delete) και ακολουθεί τα εξής βήματα:
- Προκαταρκτικός Καθαρισμός: Διαγράφει προσωρινά αρχεία (
.cache,temp,dist) από τον κεντρικό φάκελο του έργου (/home/digilady/Vuepress/MyThesis) για να εξασφαλίσει τη συνέπεια και το μικρότερο μέγεθος του αντιγράφου. - Τοπική Δημιουργία και Συμπίεση: Δημιουργείται ένα συμπιεσμένο αρχείο
tar.gzολόκληρου του έργου (με βάση τον φάκελοsrc) στον τοπικό dev server (VuePress container). - Διατήρηση Τοπικού Αντιγράφου (Retention): Το συμπιεσμένο αρχείο αποθηκεύεται στον κατάλογο
/home/digilady/VueBackups. Το script διατηρεί τα τοπικά αντίγραφα για 10 ημέρες (-mtime +10), εξασφαλίζοντας γρήγορη ανάκτηση.
7.1.2.2 Απομακρυσμένος Συγχρονισμός (Remote Sync)
Ταυτόχρονα με τη δημιουργία του τοπικού αντιγράφου, το script πραγματοποιεί συγχρονισμό (Push) του αρχείου backup στον File Server container (10.11.100.102).
- Μηχανισμός: Χρησιμοποιείται το εργαλείο
rsyncμέσω της ασφαλούς σύνδεσης SSH στη θύρα 2003. - Πιστοποίηση: Η σύνδεση είναι χωρίς κωδικό πρόσβασης (Passwordless) και βασίζεται σε RSA 4096-bit κλειδιά (Public Key Authentication), με τον
rootνα χρησιμοποιεί ρητά το κλειδί τηςdigiladyμέσω του αρχείου/root/.ssh/config. - Προορισμός: Τα αντίγραφα αποθηκεύονται στον File Server, στον κατάλογο
/srv/VPBackup, ο οποίος προορίζεται για κοινή χρήση μέσω Samba στο τοπικό δίκτυο (LAN), επιτρέποντας την κεντρική πρόσβαση και αποθήκευση.
7.1.3 Αυτοματοποιημένο Startup Backup (Script: bck-sp)
Για να διασφαλιστεί ότι δεν θα χαθούν τυχόν αλλαγές πριν την έναρξη κάθε εργασιακής συνεδρίας, υλοποιείται ένα δεύτερο script, bck-sp, το οποίο θα εκτελείται αυτόματα κατά την εκκίνηση του Dev Server container.
7.1.3.1 Λειτουργία του bck-sp
Το script αυτό θα είναι πιο ελαφρύ, καθώς θα εστιάζει αποκλειστικά στον κώδικα παραγωγής (src):
- Διαδρομή: Τα αντίγραφα θα αποθηκεύονται σε ξεχωριστή τοποθεσία, π.χ.,
/home/digilady/VueBackups/Startup, για να μην παρεμβαίνουν στα πλήρη αντίγραφα. - Περιεχόμενο: Θα συμπιέζει μόνο τον φάκελο
/src(όπου βρίσκεται ο κρίσιμος κώδικας). - Συγχρονισμός: Θα πραγματοποιεί αυτόματο
rsyncτου συμπιεσμένου αρχείου στο File Server, σε ξεχωριστό φάκελο (π.χ.,/srv/VPBackup/Startup). - Αυτοματοποίηση: Το script θα καταχωρηθεί στο αρχείο
/etc/rc.localή ως systemd service στο VuePress container, ώστε να εκτελείται μία φορά μετά την ολοκλήρωση της εκκίνησης του συστήματος.
7.1.4 Συμπεράσματα
Η υιοθέτηση αυτών των αυτοματοποιημένων μηχανισμών backup, που συνδυάζουν τοπική διατήρηση (10 ημερών) και απομακρυσμένη αποθήκευση σε κοινόχρηστη τοποθεσία (Samba Share), ενισχύει την ανθεκτικότητα και την αξιοπιστία του περιβάλλοντος ανάπτυξης για το έργο MyThesis, ελαχιστοποιώντας τον κίνδυνο απώλειας δεδομένων.
7.1.4.1 Παραπομπές στην Υλοποίηση (Προς Παραρτήματα)
Η ακριβής υλοποίηση του script bck-lcl, το οποίο διασφαλίζει τον πλήρη συγχρονισμό και τη διατήρηση των δεδομένων, παρατίθεται αναλυτικά στο Παράρτημα Α. Επιπλέον, το προσχέδιο του προτεινόμενου script bck-startup, το οποίο θα αυτοματοποιήσει την ημερήσια διασφάλιση του κώδικα πηγής, περιλαμβάνεται στο Παράρτημα Β. Η λεπτομερής παρουσίαση του κώδικα στα Παραρτήματα επιβεβαιώνει τη διαφάνεια και την επαληθευσιμότητα της τεχνικής λύσης που υιοθετήθηκε για το MyThesis.