Πώς να δημιουργήσετε αντίγραφα ασφαλείας του συστήματος Linux σας

Μην διακινδυνεύετε την απώλεια δεδομένων. Δημιουργήστε αντίγραφα ασφαλείας των πολύτιμων δεδομένων σας από τη γραμμή εντολών του Linux. Θα χρησιμοποιήσουμε την εντολή rsync για αυτό και βρήκαμε ακόμη και μερικές ωραίες προαιρετικές γραφικές διεπαφές για αυτήν.

Υπάρχουν πολλοί τρόποι για να δημιουργήσετε ένα αντίγραφο ασφαλείας των αρχείων σας. Θέλαμε να σας δείξουμε έναν ισχυρό, ευέλικτο και αξιόπιστο τρόπο προστασίας των δεδομένων σας. Επιλέγουμε το rsync εξαιτίας του καλά σεβαστοί αλγόριθμοι που υπολογίζουν τις διαφορές μεταξύ των αρχείων στον κατάλογο προέλευσης και στον κατάλογο προορισμού. Μεταφέρονται μόνο οι διαφορές μεταξύ δύο εκδόσεων ενός αρχείου και όχι ολόκληρο το αρχείο, εάν αυτό μπορεί να αποφευχθεί.

Όταν αυτή η αποτελεσματικότητα συνδυάζεται με το σταθερό ιστορικό του στην εκτέλεση αντιγράφων αρχείων και συγχρονισμών καταλόγων από τα μέσα της δεκαετίας του 1990, το rsync είναι ο τέλειος υποψήφιος για τη δημιουργία αντιγράφων ασφαλείας από τη γραμμή εντολών του Linux.

Επιπλέον, υπάρχουν ανεξάρτητα προγράμματα λογισμικού που λειτουργούν ως front-end για το rsync. Παρέχουν γραφικές διεπαφές χρήστη (GUI) για συγχρονισμό, τις οποίες μερικοί άνθρωποι μπορεί να το βρίσκουν πιο εύκολο στη χρήση.

Όσο πιο απλό και γρήγορο είναι να δημιουργήσετε ένα αντίγραφο ασφαλείας, τόσο πιο πιθανό είναι να το κάνετε.

Χρήση του rsync με εξωτερικό σκληρό δίσκο

Για να δημιουργήσετε ένα αντίγραφο ασφαλείας των δεδομένων σας σε έναν εξωτερικό σκληρό δίσκο, ο σκληρός δίσκος πρέπει να είναι τοποθετημένος και προσβάσιμος σε εσάς. Εάν μπορείτε να γράψετε σε αυτό, τότε μπορείτε να κάνετε συγχρονισμό. Σε αυτό το παράδειγμα, ένας εξωτερικός σκληρός δίσκος USB που ονομάζεται SILVERXHD (για “Silver eXternal Hard Drive”) είναι συνδεδεμένος στον υπολογιστή Linux. Έχει τοποθετηθεί αυτόματα από το λειτουργικό σύστημα.

Θα πρέπει να γνωρίζετε τη διαδρομή προς τη μονάδα δίσκου. Στο GNOME, ανοίξτε το πρόγραμμα περιήγησης αρχείων Nautilus και εντοπίστε το όνομα της μονάδας δίσκου στην πλαϊνή γραμμή.

Τοποθετήστε το δείκτη του ποντικιού πάνω από το όνομα της εξωτερικής μονάδας δίσκου και μια επεξήγηση εργαλείου θα σας δείξει τη διαδρομή προς τη μονάδα δίσκου.

Σε αυτό το παράδειγμα, η συμβουλή εργαλείου μας ενημερώνει ότι το σημείο προσάρτησης για το σύστημα αρχείων στην εξωτερική μονάδα δίσκου είναι “/media/dave/SILVERXHD”.

Εάν το πρόγραμμα περιήγησης αρχείων σας δεν το κάνει αυτό, μεταβείτε στην εξωτερική μονάδα δίσκου και ανοίξτε ένα παράθυρο τερματικού σε αυτήν τη θέση. Χρησιμοποιήστε την εντολή pwd για να εκτυπώσετε τη διαδρομή προς το παράθυρο του τερματικού.

  Πώς να εγκαταστήσετε το Adwaita Tweaks για το Gnome Shell σε Linux

Αντιγραφή των περιεχομένων από τον κατάλογο προέλευσης

Για να χρησιμοποιήσετε το rsync για να αντιγράψετε τα περιεχόμενα ενός καταλόγου στον προορισμό του αντιγράφου ασφαλείας, χρησιμοποιήστε την ακόλουθη εντολή.

Η επιλογή -r (αναδρομική) αναγκάζει το rsync να αντιγράψει όλους τους ένθετους υποκαταλόγους και τα περιεχόμενά τους. Σημειώστε ότι υπάρχει κάθετο “/” στο τέλος της λέξης “SILVERXHD”, αλλά έχει τυλιχθεί στην επόμενη γραμμή στο στιγμιότυπο οθόνης.

rsync -r /home/dave/Documents/ /media/dave/SILVERXHD/

Πραγματοποιείται η αντιγραφή του αρχείου και επιστρέφετε στη γραμμή εντολών.

Αν κοιτάξουμε την εξωτερική μονάδα USB, βλέπουμε ότι οι κατάλογοι που βρίσκονται στον κατάλογο Έγγραφα έχουν αντιγραφεί στη ρίζα της εξωτερικής μονάδας δίσκου.

ls

Αντιγραφή του καταλόγου προέλευσης και των περιεχομένων του

Εάν θέλατε να αντιγράψετε τον κατάλογο Documents και τα περιεχόμενά του στην εξωτερική μονάδα δίσκου, αφαιρέστε το “/” από το τέλος του “/home/dave/Documents” στη γραμμή εντολών, ως εξής:

rsync -r /home/dave/Documents /media/dave/SILVERXHD/

Για να αποφύγω τη σύγχυση, αφαίρεσα τους δύο καταλόγους που αντιγράφηκαν προηγουμένως από την εξωτερική μονάδα δίσκου πριν από την εκτέλεση αυτής της δεύτερης εντολής.

Εάν αφήσουμε το δεύτερο αντίγραφο να ολοκληρωθεί και κοιτάξουμε ξανά την εξωτερική μονάδα δίσκου, θα δούμε ότι ο κατάλογος Documents έχει αντιγραφεί. Τα περιεχόμενά του βρίσκονται σε αυτόν τον κατάλογο. Δεν βρίσκονται στη ρίζα της εξωτερικής μονάδας δίσκου.

Αντιγραφή σε έναν συγκεκριμένο κατάλογο στόχο

Για να αντιγράψετε σε έναν συγκεκριμένο κατάλογο στον σκληρό δίσκο προορισμού, προσθέστε το όνομα του καταλόγου στη διαδρομή προορισμού. Ας υποθέσουμε ότι θέλουμε να αντιγράψουμε τα περιεχόμενα του καταλόγου “/home/dave/Documents” σε έναν κατάλογο που ονομάζεται “backups” στην εξωτερική μονάδα δίσκου.

Αυτό θα το κάναμε με την ακόλουθη εντολή.

rsync -r /home/dave/Documents/ /media/dave/SILVERXHD/backups/

Ελέγχοντας στην εξωτερική μονάδα δίσκου, μπορούμε να δούμε ότι ο κατάλογος των αντιγράφων ασφαλείας έχει δημιουργηθεί και μέσα σε αυτόν τον κατάλογο βρίσκονται τα περιεχόμενα του καταλόγου “/home/dave/Documents”.

ls
ls backups

Διατήρηση της ιδιοκτησίας και των δικαιωμάτων αρχείων

Χρησιμοποιήστε την επιλογή -a (αρχειοθέτηση) για να διατηρήσετε χαρακτηριστικά αρχείων, όπως ημερομηνίες τροποποίησης, ιδιοκτησία αρχείου, δικαιώματα πρόσβασης και άλλα, για αντιγραμμένα αρχεία, συμβολικούς συνδέσμους και ειδικά αρχεία μπλοκ.

rsync -ra /home/dave/Documents/ /media/dave/SILVERXHD/backups/

Χρήση λεπτομερούς λειτουργίας

Η επιλογή -v (verbose) αναγκάζει το rsync να παραθέσει τα αρχεία καθώς αντιγράφονται.

rsync -rav /home/dave/Documents/ /media/dave/SILVERXHD/backups/

Μια σύνοψη του αντιγράφου ασφαλείας παρουσιάζεται όταν ολοκληρωθεί η αντιγραφή.

Σταλμένα: Τα byte που μεταφέρθηκαν στον στόχο.
Λήφθηκαν: Τα byte που ελήφθησαν στον κεντρικό υπολογιστή.
Bytes/sec: είναι ο πραγματικός ρυθμός μεταφοράς.
Συνολικό μέγεθος: Αντιπροσωπεύει το μέγεθος των δεδομένων που θα είχαν σταλεί εάν δεν χρησιμοποιούσατε το rsync. Στις επόμενες εκτελέσεις του rsync θα μεταφέρει μόνο τις διαφορές αρχείων. Αυτός ο αριθμός θα αντιπροσωπεύει τα δεδομένα που δεν χρειάστηκε να μεταφερθούν.
Επιτάχυνση: Αυτή είναι η αναλογία μεταξύ του όγκου των δεδομένων που έπρεπε να σταλούν και του συνολικού όγκου δεδομένων που υπάρχει. Εάν το rsync χρειάζεται να αντιγράψει όλα τα αρχεία στο σύνολό τους (την πρώτη φορά που εκτελείται, για παράδειγμα), η επιτάχυνση θα είναι 1.0. Όταν το rsync θα χρησιμοποιηθεί στη συνέχεια, θα βελτιστοποιήσει τις μεταφορές. Θα στείλει μόνο τις διαφορές μεταξύ των αρχείων, όχι ολόκληρα τα αρχεία. Τα αρχεία χωρίς αλλαγές θα αγνοηθούν. Ο αριθμός επιτάχυνσης θα αντιπροσωπεύει την αναλογία μεταξύ του μικρού όγκου δεδομένων που χρειαζόταν να μεταφερθεί σε σχέση με το συνολικό μέγεθος των αρχείων.

  Πώς να ρυθμίσετε το Firejail σε Linux

Χρήση της επιλογής προόδου

Η επιλογή -P (πρόοδος) αναγκάζει το rsync να δημιουργήσει μια μικρή αναφορά προόδου μετά την αντιγραφή κάθε αρχείου.

rsync -raP /home/dave/Documents/ /media/dave/SILVERXHD/backups/

Οι πληροφορίες που παρέχονται είναι ορατές μεταξύ κάθε αντιγραμμένου αρχείου.

Οι πληροφορίες που παρέχονται είναι:

Μέγεθος byte: Τα δεδομένα που μεταφέρθηκαν για αυτό το αρχείο.
Ποσοστό: Ποσοστό του αρχείου που μεταφέρθηκε.
B/s: Ρυθμός μεταφοράς δεδομένων.
Χρόνος που απομένει: Εκτιμώμενος χρόνος που απομένει για τη μεταφορά αυτού του αρχείου.
xfr#: Ο αριθμός των αρχείων που έχουν μεταφερθεί μέχρι στιγμής.
to-chk: Ο αριθμός των αρχείων που απομένουν προς έλεγχο και επαλήθευση από τους αλγόριθμους βελτιστοποίησης.

Προσθήκη μεγαλύτερης ταχύτητας

Για να επιταχύνετε τις μεταφορές, χρησιμοποιήστε την επιλογή -z (συμπίεση). Αυτό συμπιέζει το αρχείο κατά τη μεταφορά, αλλά το αρχείο αποθηκεύεται ασυμπίεστο στον κατάλογο προορισμού.

Η επιλογή συμπίεσης δεν θα αποφέρει σημαντικά οφέλη για μεταφορές που περιλαμβάνουν πολλά μικρά αρχεία. Για συλλογές μεγαλύτερων αρχείων, μπορεί να μειώσει τον χρόνο μεταφοράς με ουσιαστικό τρόπο.

Χρησιμοποιούμε επίσης την επιλογή –partial εδώ. Το rsync θα διαγράψει μερικώς μεταφερθέντα αρχεία που προκαλούνται από δυσλειτουργίες δικτύου ή άλλες διακοπές. Η επιλογή –partial αναγκάζει το rsync να αφήσει τα μερικώς μεταφερθέντα αρχεία στον στόχο. Ο καθαρός χρόνος που τρέχει το rsync δεν θα χρειαστεί να μεταφέρει εκ νέου τα τμήματα των μερικώς μεταφερθέντων αρχείων.

Λάβετε υπόψη ότι ενδέχεται να μην θέλετε να χρησιμοποιήσετε αυτήν την επιλογή, εάν υπάρχει κίνδυνος να μπερδέψει κάποιος τα μερικώς μεταφερθέντα αρχεία ως αρχεία που έχουν μεταφερθεί πλήρως.

rsync -ravz  --partial /home/dave/Documents/ /media/dave/SILVERXHD/backups/

Στο παράδειγμά μας, τα οφέλη είναι οριακά.

Η αναλογία επιτάχυνσης έχει βελτιωθεί, αλλά κατά τα δύο εκατοστά του τοις εκατό! Σε ένα πραγματικό σενάριο, οι βελτιώσεις της ταχύτητάς σας θα είναι πιο εντυπωσιακές.

Χρήση rsync μέσω δικτύου

Μέχρι στιγμής στοχεύαμε μια εξωτερική μονάδα USB. Για να χρησιμοποιήσετε μια τοποθεσία δικτύου ως στόχο για το αντίγραφο ασφαλείας, χρησιμοποιήστε τη διαδρομή προς αυτήν τη θέση στη γραμμή εντολών. Υπάρχει ένα συσκευή αποθήκευσης συνδεδεμένη με το δίκτυο (NAS) στο δίκτυο στο οποίο ερευνήθηκε αυτό το άρθρο.

Μπορούμε να χρησιμοποιήσουμε το ίδιο τέχνασμα που χρησιμοποιήσαμε νωρίτερα για να αναγνωρίσουμε τη διαδρομή προς το NAS, τοποθετώντας το ποντίκι πάνω από τη σύνδεση σε αυτήν τη συσκευή στο Nautilus.

Δεν υπάρχουν ειδικές επιλογές για δημιουργία αντιγράφων ασφαλείας σε ένα δίκτυο. Αυτές είναι όλες οι επιλογές που έχουμε ήδη χρησιμοποιήσει.

rsync -ravz  --partial /home/dave/Documents/ /media/dave/NAS/dave/backups/

Δεν υπάρχει διαφορά στη μορφή της εξόδου.

Δεν αποτελεί έκπληξη το γεγονός ότι υπάρχει σημαντική βελτίωση στην τιμή Bytes/sec.

Εάν τρέξουμε ξανά το rsync, μπορούμε να δούμε ότι δεν υπάρχουν αρχεία για μεταφορά επειδή δεν υπήρξαν αλλαγές, αλλά εξακολουθούν να υπάρχουν μερικά byte που μεταφέρονται εμπρός και πίσω. Αυτός είναι ο όγκος των δεδομένων που πρέπει να μεταφερθούν για να συγκριθεί η λίστα αρχείων στον στόχο με τη λίστα αρχείων στην πηγή.

  Πώς να προσθέσετε έναν κατάλογο στο $PATH σας στο Linux

Ο λόγος επιτάχυνσης είναι κατά μια τάξη μεγέθους καλύτερος σε αυτήν την περίπτωση. Στην πράξη, οι αναλογίες απόδοσής σας θα είναι κάπου ανάμεσα στις δύο ψευδο-τεχνητές αναγνώσεις μας.

Χρήση rsync μέσω SSH

Το rsync υποστηρίζει τη δημιουργία αντιγράφων ασφαλείας μέσω μιας σύνδεσης SSH. Πρέπει να δώσουμε το όνομα του λογαριασμού χρήστη και τη θέση SSH στη γραμμή εντολών. Χρησιμοποιούμε ένα όνομα δικτύου εδώ, αλλά μπορείτε επίσης να χρησιμοποιήσετε μια διεύθυνση IP.

Σημειώστε το «:» μεταξύ των λεπτομερειών σύνδεσης SSH και της έναρξης της διαδρομής δικτύου στον απομακρυσμένο στόχο.

rsync -ravz  --partial /home/dave/Documents/ [email protected]:/home/dave/Backups/

Θα σας ζητηθεί ο κωδικός πρόσβασης του λογαριασμού χρήστη στο απομακρυσμένο μηχάνημα. Αυτός δεν είναι ο κωδικός πρόσβασής σας στο μηχάνημα προέλευσης.

Το αντίγραφο ασφαλείας θα ολοκληρωθεί ως συνήθως. Η απόδοση δεν είναι τόσο γρήγορη όσο μια κανονική σύνδεση δικτύου, λόγω της κρυπτογράφησης και της αποκρυπτογράφησης που λαμβάνει χώρα στην ασφαλή σύνδεση κελύφους.

Αυτοματοποίηση των αντιγράφων ασφαλείας σας

Μπορούμε εύκολα να δημιουργήσουμε αυτοματοποιημένα αντίγραφα ασφαλείας προσθέτοντας καταχωρίσεις στο αρχείο crontab σας.

crontab -e

Θα δημιουργήσουμε ένα αυτοματοποιημένο αντίγραφο ασφαλείας για να εκτελείται κάθε μέρα στις 04:30 (αν ο υπολογιστής είναι ενεργοποιημένος εκείνη την ώρα, φυσικά). Η σύνταξη για την εντολή rsync δεν αλλάζει καθόλου.

Ctrl+O θα γράψει τις αλλαγές σας στο αρχείο και Ctrl+X θα κλείσει το nano editor.

Βάζοντας ένα φιλικό πρόσωπο στο Rsync

Τα άτομα που αισθάνονται λιγότερο άνετα με τη γραμμή εντολών μπορούν να χρησιμοποιήσουν ένα από τα διάφορα προγράμματα που τοποθετούν μια γραφική διεπαφή χρήστη (GUI) στο rsync. Δύο καλά παραδείγματα είναι luckyBackup και Grsync. Και τα δύο αυτά προγράμματα επιτρέπουν την επιλογή πολλών από τις επιλογές rsync μέσω της διεπαφής χρήστη.

Το πρόγραμμα Grsync επικεντρώνεται στο να είναι ένα οπτικό περιτύλιγμα για το rync. Παρέχει εύκολη πρόσβαση στις επιλογές rsync και προσθέτει μόνο ένα περιορισμένο σύνολο νέων λειτουργιών.

Ένα από τα παράθυρα διαλόγου ρυθμίσεων Grsync,

Το πρόγραμμα luckyBackup είναι πολύ περισσότερο από ένα απλό περιτύλιγμα για rsync. Είναι ένα πρόγραμμα δημιουργίας αντιγράφων ασφαλείας που χρησιμοποιεί το rsync στα παρασκήνια. Για παράδειγμα, το luckyBackup μπορεί να δημιουργήσει πολλαπλά «στιγμιότυπα» του αντιγράφου ασφαλείας σας. Στη συνέχεια, μπορείτε να “επιστρέφετε” στις εκδόσεις των αρχείων σε οποιοδήποτε από τα στιγμιότυπα.

Ένα από τα παράθυρα ρυθμίσεων luckyBackup.

Για να εγκαταστήσετε το Grsync

Για να εγκαταστήσετε το Grsync στο Ubuntu, χρησιμοποιήστε αυτήν την εντολή:

sudo apt-get install grsync

Για να εγκαταστήσετε το Grsync στο Fedora, χρησιμοποιήστε αυτήν την εντολή:

sudo dnf install grsync

Για να εγκαταστήσετε το Grsync στο Manaro χρησιμοποιήστε αυτήν την εντολή:

sudo pacman -Syu grsync

Για να εγκαταστήσετε το luckyBackup

Για να εγκαταστήσετε το luckyBackup στο Ubuntu, χρησιμοποιήστε την ακόλουθη εντολή:

sudo apt-get install luckybackup

Για να εγκαταστήσετε το luckyBackup στο Fedora χρησιμοποιήστε την ακόλουθη εντολή:

sudo dnf install luckybackup

Στο Manjaro πρέπει να εγκαταστήσετε το luckyBackup από το Arch User Repository (AUR). Μπορείτε να το κάνετε αυτό με τον διαχειριστή πακέτων pamac.

Μην το ρισκάρετε, Δημιουργήστε συχνά αντίγραφα ασφαλείας των δεδομένων σας

Τα αντίγραφα ασφαλείας είναι απολύτως ζωτικής σημασίας. Δημιουργία αντιγράφων ασφαλείας συχνά, δημιουργία αντιγράφων ασφαλείας σε πολλές τοποθεσίες και δημιουργία αντιγράφων ασφαλείας σε διαφορετικά μέσα. Μόλις ρυθμιστεί, το rsync μπορεί να τα κάνει όλα αυτά για εσάς.