Όσον αφορά τη διαχείριση διακομιστών ή ακόμα και ενός προσωπικού υπολογιστή Linux, υπάρχει ένα πράγμα που δεν μπορεί να αφεθεί στην τύχη: τα αντίγραφα ασφαλείας δεδομένων. Όσες προφυλάξεις κι αν λάβουμε, οι βλάβες υλικού, το ανθρώπινο λάθος ή οι επιθέσεις ασφαλείας είναι μια πραγματική πιθανότητα, και εδώ έρχεται το rsync . Αυτό το εργαλείο δεν είναι απλώς ένα πρόγραμμα για την αντιγραφή αρχείων. Είναι ένα εξαιρετικά ισχυρό πρωτόκολλο συγχρονισμού που μας επιτρέπει να κοιμόμαστε ήσυχοι γνωρίζοντας ότι τα δεδομένα μας είναι ασφαλή.
Αυτό που κάνει το rsync την προτιμώμενη επιλογή για τους διαχειριστές συστημάτων είναι η απίστευτη αποτελεσματικότητά του . Σε αντίθεση με άλλες μεθόδους που αντιγράφουν ολόκληρο το αρχείο επανειλημμένα, το rsync μετακινεί μόνο τα μέρη που έχουν αλλάξει, εξοικονομώντας τεράστιο εύρος ζώνης και χρόνο. Είτε είστε χρήστης υπολογιστή που θέλει να δημιουργήσει στιγμιότυπα των φακέλων σας είτε ειδικός στη διαχείριση μιας υποδομής πολλαπλών διακομιστών, η γνώση αυτού του βοηθητικού προγράμματος είναι απλώς απαραίτητη.
Πώς λειτουργεί η μαγεία του rsync
Για να καταλάβετε γιατί το rsync είναι τόσο γρήγορο, πρέπει να κοιτάξετε πιο κάτω. Το πρόγραμμα χρησιμοποιεί έναν αλγόριθμο μεταφοράς δέλτα . Αρχικά, συγκρίνει τα αρχεία προέλευσης και προορισμού με βάση το μέγεθος και την ημερομηνία τροποποίησης. Εάν εντοπίσει ότι κάτι έχει αλλάξει, διαιρεί το αρχείο σε μπλοκ και υπολογίζει αθροίσματα ελέγχου για να εντοπίσει ακριβώς ποια τμήματα είναι διαφορετικά. Μόνο τα τροποποιημένα μπλοκ μεταδίδονται στη συνέχεια και ο προορισμός ανακατασκευάζει το τελικό αρχείο. Είναι μια πολύ πιο έξυπνη διαδικασία από τις απλές εντολές cp ή scp.
Εγκατάσταση και πρώτα βήματα
Στις περισσότερες σύγχρονες διανομές, όπως το Ubuntu ή το Debian, το rsync είναι προεγκατεστημένο. Εάν για κάποιο λόγο αυτό δεν ισχύει για εσάς, μπορείτε να το εγκαταστήσετε γρήγορα με το sudo apt install rsyncΣε συστήματα που βασίζονται σε Red Hat ή CentOS, η εντολή θα ήταν sudo yum install rsyncΜόλις εγκατασταθεί, μπορείτε να ελέγξετε ότι όλα είναι εντάξει εκτελώντας rsync --version στο τερματικό σας.
Σύνταξη και βασικές επιλογές
Η βασική δομή είναι απλή: rsync origen destinoΩστόσο, το πραγματικό του δυναμικό έγκειται στις παραμέτρους του. Ένα από τα πιο συχνά χρησιμοποιούμενα είναι -a (λειτουργία αρχείου)το οποίο είναι ουσιαστικά ένα πακέτο που διατηρεί τα δικαιώματα, την ιδιοκτησία, τις χρονικές σημάνσεις και τους συμβολικούς συνδέσμους, διασφαλίζοντας ότι το αντίγραφο είναι πανομοιότυπο με το πρωτότυπο. Αν θέλετε να δείτε τι συμβαίνει σε πραγματικό χρόνο, προσθέστε -v (ριζική)Και αν πρόκειται να μεταφέρετε δεδομένα μέσω δικτύου, η επιλογή -z Θα συμπιέσει τις πληροφορίες κατά τη διάρκεια του ταξιδιού.
Μια τεχνική λεπτομέρεια που συχνά προκαλεί πονοκεφάλους είναι η τελική κάθετος στις διαδρομές. Αν γράψεις /directorio/ (με κάθετο), το rsync θα αντιγράψει τα περιεχόμενα αυτού του φακέλου. Αν πληκτρολογήσετε /directorio (χωρίς την κάθετο), θα αντιγράψει ολόκληρο τον φάκελο στον προορισμό. Είναι μια μικρή λεπτομέρεια, αλλά κάνει όλη τη διαφορά μεταξύ μιας οργανωμένης δομής και ενός χαοτικού χάους από φακέλους.
Σενάρια χρήσης και προηγμένη διαμόρφωση
Υπάρχουν διάφοροι τρόποι για να χρησιμοποιήσετε το rsync ανάλογα με τις ανάγκες σας. Αν ψάχνετε για ένα τυπικό αντίγραφο ασφαλείας , η λειτουργία αρχείου είναι η καλύτερη επιλογή σας. Αλλά αν χρειάζεστε ο προορισμός να είναι ένας ακριβής καθρέφτης της πηγής, αφαιρώντας αρχεία που δεν υπάρχουν πλέον στην πηγή, πρέπει να προσθέσετε την επιλογή `--delete` . Αυτό είναι ζωτικής σημασίας για τη διατήρηση της καθαριότητας των αντιγράφων ασφαλείας και την αποτροπή της συσσώρευσης ανεπιθύμητων αρχείων.
Μπορείτε επίσης να είστε επιλεκτικοί. Εάν υπάρχουν φάκελοι για τους οποίους δεν θέλετε να δημιουργήσετε αντίγραφα ασφαλείας (όπως προσωρινές μνήμες ή προσωρινά αρχεία), μπορείτε να χρησιμοποιήσετε την εντολή `--exclude` για να ορίσετε συγκεκριμένα μοτίβα ή να δημιουργήσετε ένα αρχείο κειμένου με μια λίστα εξαιρέσεων και να το καλέσετε χρησιμοποιώντας την εντολή `--exclude-from` . Για όσους ασχολούνται με αρχεία πολύ μεγάλων μεγεθών, υπάρχουν οι παράμετροι `--max-size` και `--min-size` , που σας επιτρέπουν να φιλτράρετε τι αντιγράφεται με βάση το μέγεθος του αρχείου.
Αυτοματοποίηση: Ξεχάστε την εκτέλεση εντολών χειροκίνητα
Τα χειροκίνητα αντίγραφα ασφαλείας είναι μια συνταγή για καταστροφή, επειδή αργά ή γρήγορα θα ξεχάσουμε. Η κλασική λύση είναι cronΚατά την επεξεργασία του crontab με crontab -e, μπορούμε Αυτοματοποιήστε τα αντίγραφα ασφαλείας σε Linux με rsync και cron προγραμματίζοντας την εκτέλεση της εντολής, για παράδειγμα, κάθε βράδυ στις 3 π.μ. Μια γραμμή όπως 0 3 * * * rsync -av /home/usuario /mnt/backup Θα κάνει τη βρώμικη δουλειά για εμάς.
Για όσους προτιμούν κάτι πιο σύγχρονο, υπάρχουν οι χρονοδιακόπτες systemd . Αυτοί επιτρέπουν πιο ισχυρή διαχείριση, με σαφείς εξαρτήσεις και καλύτερη ενσωμάτωση με τα αρχεία καταγραφής συστήματος. Διαμορφώνονται δημιουργώντας ένα αρχείο .service για την εργασία και ένα αρχείο .timer για τον προγραμματισμό, προσφέροντας πολύ πιο λεπτομερή έλεγχο από το παλιό cron.
Στρατηγικές δημιουργίας αντιγράφων ασφαλείας: Ώθηση, Έλξη και Στιγμιαία
Σε επαγγελματικά περιβάλλοντα, υπάρχουν δύο κύριες προσεγγίσεις. Το μοντέλο Push είναι όταν ο διακομιστής παραγωγής στέλνει δεδομένα στον διακομιστή αντιγράφων ασφαλείας. Είναι απλό, αλλά απαιτεί από τον κύριο διακομιστή να έχει δικαιώματα εγγραφής στον προορισμό. Το μοντέλο Pull είναι το αντίστροφο: ο διακομιστής αντιγράφων ασφαλείας ζητά τα δεδομένα. Αυτό είναι πολύ πιο ασφαλές, καθώς ο διακομιστής παραγωγής δεν χρειάζεται να γνωρίζει ή να έχει πρόσβαση στο σύστημα αντιγράφων ασφαλείας.
Για να αποτρέψετε τη διαγραφή ολόκληρου του ιστορικού από ένα μόνο σφάλμα, η ιδανική λύση είναι να εφαρμόσετε την εφεδρική εναλλαγήΑντί να αντικαταστήσουμε το αντίγραφο, μπορούμε να δημιουργήσουμε φακέλους με την τρέχουσα ημερομηνία χρησιμοποιώντας την εντολή date +%Y-%m-%dΜια προηγμένη τεχνική περιλαμβάνει τη χρήση σκληροί σύνδεσμοι με cp -alΑυτό επιτρέπει πολλαπλές ιστορικές εκδόσεις (στιγμιότυπα) χωρίς να αυξάνεται ο χώρος στο δίσκο, καθώς τα αρχεία που δεν έχουν αλλάξει είναι κοινόχρηστα μεταξύ όλων των εκδόσεων.
Ρύθμιση παραμέτρων διακομιστή rsync (Daemon)
Αν θέλετε να μετατρέψετε ένα μηχάνημα σε αποκλειστικό διακομιστή δημιουργίας αντιγράφων ασφαλείας, πρέπει να διαμορφώσετε το δαίμονας rsyncΑυτό περιλαμβάνει την επεξεργασία του αρχείου /etc/rsyncd.confόπου ορίζουμε τις ενότητες δεδομένων, τους εξουσιοδοτημένους χρήστες και εάν η πρόσβαση είναι μόνο για ανάγνωση. Για λόγους ασφαλείας, είναι απαραίτητο να δημιουργηθεί ένα κρυπτογραφημένο αντίγραφο ασφαλείας για τα αντίγραφά σας και περιορίστε τα δικαιώματα αρχείων με κωδικό πρόσβασης στο /etc/rsyncd.passwd με chmod 0600 ώστε να μην μπορεί να τα διαβάσει κανείς άλλος.
Επίλυση κοινών προβλημάτων
Δεν είναι όλα τέλεια και είναι φυσιολογικό να συναντήσετε κάποια εμπόδια. Το σφάλμα " άδεια που δεν επιτρέπεται" συνήθως επιλύεται διασφαλίζοντας ότι ο χρήστης που εκτελεί το rsync έχει πρόσβαση ανάγνωσης στην πηγή και πρόσβαση εγγραφής στον προορισμό. Εάν παρατηρήσετε ότι το αντίγραφο ασφαλείας υπερφορτώνει τη σύνδεσή σας στο διαδίκτυο, μπορείτε να περιορίσετε το εύρος ζώνης με την επιλογή `--bwlimit`.
Μια άλλη συνηθισμένη προειδοποίηση είναι ότι ορισμένα αρχεία έχουν εξαφανιστεί κατά τη μεταφορά. Αυτό συμβαίνει συνήθως με αρχεία καταγραφής ή προσωρινά αρχεία που το σύστημα διαγράφει ενώ το rsync τα διαβάζει. Γενικά δεν είναι σοβαρό και μπορεί να αγνοηθεί ή να αντιμετωπιστεί χρησιμοποιώντας σενάρια αποκλεισμού.
Ο χρυσός κανόνας της επιδοκιμασίας
Ανεξάρτητα από το εργαλείο, το rsync θα πρέπει να αποτελεί μέρος μιας ευρύτερης στρατηγικής, όπως ο κανόνας 3-2-1 : διατηρήστε τρία αντίγραφα των δεδομένων σας σε δύο διαφορετικά μέσα αποθήκευσης, με το ένα αντίγραφο να αποθηκεύεται εκτός ιστότοπου. Να θυμάστε ότι ένα αντίγραφο ασφαλείας δεν είναι πραγματικά αξιόπιστο μέχρι να επαληθεύσετε ότι μπορείτε να επαναφέρετε τα δεδομένα . Η εκτέλεση προσομοιώσεων με την επιλογή -n (dry-run) πριν από την εκτέλεση καταστροφικών εντολών είναι μια πρακτική που θα σας σώσει τη ζωή περισσότερες από μία φορές.
Η εξειδίκευση στο rsync σημαίνει μετάβαση από απλά χειροκίνητα αντίγραφα ασφαλείας σε ένα αυτοματοποιημένο, εκδοχικό σύστημα που προστατεύει την ακεραιότητα των δεδομένων. Είτε με τη δημιουργία ενός αποκλειστικού διακομιστή, είτε με τον προγραμματισμό εργασιών cron, είτε με την εφαρμογή εναλλαγών χρησιμοποιώντας σκληρούς συνδέσμους, το κλειδί έγκειται στη συνέπεια και την τακτική επαλήθευση δεδομένων, ώστε να διασφαλιστεί ότι, σε περίπτωση απρόβλεπτων περιστάσεων, η ανάκτηση είναι γρήγορη και αποτελεσματική.
Παθιασμένος συγγραφέας για τον κόσμο των byte και της τεχνολογίας γενικότερα. Μου αρέσει να μοιράζομαι τις γνώσεις μου μέσω της γραφής, και αυτό θα κάνω σε αυτό το blog, θα σας δείξω όλα τα πιο ενδιαφέροντα πράγματα σχετικά με τα gadget, το λογισμικό, το υλικό, τις τεχνολογικές τάσεις και πολλά άλλα. Στόχος μου είναι να σας βοηθήσω να περιηγηθείτε στον ψηφιακό κόσμο με απλό και διασκεδαστικό τρόπο.




