Αρχική σελίδα » πως να » Πώς να χρησιμοποιήσετε το rsync για τη δημιουργία αντιγράφων ασφαλείας των δεδομένων σας στο Linux

    Πώς να χρησιμοποιήσετε το rsync για τη δημιουργία αντιγράφων ασφαλείας των δεδομένων σας στο Linux

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

    Μπορεί να χρησιμοποιηθεί σε συστήματα Windows αλλά είναι διαθέσιμη μόνο μέσω διαφόρων θύρων (όπως Cygwin), έτσι σε αυτό το πώς θα συζητήσουμε για τη δημιουργία του στο Linux. Πρώτον, πρέπει να εγκαταστήσουμε / να ενημερώσουμε τον πελάτη rsync. Στις διανομές του Red Hat, η εντολή είναι "yum install rsync" και στο Debian είναι "sudo apt-get install rsync".


    Η εντολή για το Red Hat / CentOS, αφού συνδεθεί ως root (σημειώστε ότι ορισμένες πρόσφατες διανομές του Red Hat υποστηρίζουν τη μέθοδο sudo).


    Η εντολή στο Debian / Ubuntu.

    Χρησιμοποιώντας το rsync για τοπικά αντίγραφα ασφαλείας

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

    $ rsync -av - απομακρύνοντας / Directory1 / / Directory2 /

    Ο παραπάνω κώδικας θα συγχρονίσει τα περιεχόμενα του Directory1 με τον Directory2 και δεν θα αφήσει διαφορές μεταξύ των δύο. Αν το rsync διαπιστώσει ότι ο κατάλογος2 έχει ένα αρχείο που δεν είναι ο κατάλογος1, θα το διαγράψει. Αν το rsync εντοπίσει ένα αρχείο που έχει αλλάξει, δημιουργηθεί ή διαγραφεί στον κατάλογο1, θα αντικατοπτρίζει τις ίδιες αλλαγές στο Directory2.

    Υπάρχουν πολλοί διαφορετικοί διακόπτες που μπορείτε να χρησιμοποιήσετε για το rsync για να το προσαρμόσετε στις συγκεκριμένες ανάγκες σας. Εδώ είναι τι ο προαναφερθείς κώδικας λέει στο rsync να κάνει με τα αντίγραφα ασφαλείας:

    1. -α = αναδρομικά (επανάληψη σε καταλόγους), συνδέσμους (αντιγραφή συμβολικών συμβόλων ως σύμβολα), perms (δικαιώματα διατήρησης), χρόνοι (διατήρηση χρόνων τροποποίησης), ομάδα (ομάδα διατήρησης), ιδιοκτήτης (διατήρηση ιδιοκτήτη) διατήρηση ειδικών αρχείων.
    2. -v = verbose. Ο λόγος για τον οποίο πιστεύω ότι είναι λεπτομερής είναι ότι είναι σημαντικό να βλέπετε ακριβώς τι υποστηρίζει το rsync. Σκεφτείτε το εξής: Τι γίνεται αν ο σκληρός σας δίσκος πάει άσχημα και ξεκινά τη διαγραφή αρχείων χωρίς τη γνώση σας, στη συνέχεια εκτελείτε το rsync script σας και ωθεί αυτές τις αλλαγές στα αντίγραφα ασφαλείας, διαγράφοντας έτσι όλες τις εμφανίσεις ενός αρχείου που δεν θέλετε να πάρετε απαλλαγούμε από?
    3. -delete = Αυτό ειδοποιεί το rsync να διαγράψει όλα τα αρχεία που βρίσκονται στον κατάλογο2 που δεν βρίσκονται στον κατάλογο1. Εάν επιλέξετε να χρησιμοποιήσετε αυτήν την επιλογή, σας συνιστούμε να χρησιμοποιήσετε τις πιο λεπτομερείς επιλογές, για λόγους που αναφέρονται παραπάνω.

    Χρησιμοποιώντας τη δέσμη ενεργειών παραπάνω, εδώ είναι η έξοδος που παράγεται από τη χρήση του rsync για να δημιουργήσετε αντίγραφα ασφαλείας στον κατάλογο Directory1 σε Directory2. Σημειώστε ότι χωρίς τον περιστροφικό διακόπτη, δεν θα λάβετε τέτοιες λεπτομερείς πληροφορίες.

    Η παραπάνω εικόνα της οθόνης μας λέει ότι τα αρχεία File1.txt και File2.jpg εντοπίστηκαν είτε ως νέα είτε άλλαξαν από τα αντίγραφα που υπήρχαν στον κατάλογο2, και έτσι δημιουργήθηκαν αντίγραφα ασφαλείας. Συμβουλή Noob: Παρατηρήστε τα συρτάρια στο τέλος των καταλόγων στην εντολή μου rsync - αυτά είναι απαραίτητα, φροντίστε να τα θυμάστε.

    Θα ξεπεράσουμε μερικούς περισσότερους εύχρησους διακόπτες προς το τέλος αυτού του εκπαιδευτικού προγράμματος, αλλά απλά θυμηθείτε ότι για να δείτε μια πλήρη λίστα μπορείτε να πληκτρολογήσετε "man rsync" και να δείτε μια πλήρη λίστα με τους διακόπτες που θα χρησιμοποιήσετε.

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

    Χρησιμοποιώντας το rsync για εξωτερικά αντίγραφα ασφαλείας

    Το rsync μπορεί να ρυθμιστεί με διάφορους τρόπους για εξωτερικά αντίγραφα ασφαλείας, αλλά θα ξεπεράσουμε την πιο πρακτική (και την πιο εύκολη και ασφαλή) μέθοδο σήραγγας rsync μέσω SSH. Οι περισσότεροι διακομιστές και ακόμη και πολλοί πελάτες έχουν ήδη SSH και μπορούν να χρησιμοποιηθούν για τα αντίγραφα ασφαλείας του rsync. Θα σας δείξουμε τη διαδικασία για να λάβετε ένα μηχάνημα Linux για δημιουργία αντιγράφων ασφαλείας σε άλλο σε τοπικό δίκτυο. Η διαδικασία θα ήταν ακριβώς η ίδια αν κάποιος οικοδεσπότης βρισκόταν στο διαδίκτυο κάπου, σημειώστε ότι η θύρα 22 (ή όποια θύρα έχει διαμορφωθεί SSH) θα έπρεπε να προωθηθεί σε οποιοδήποτε εξοπλισμό δικτύου από την πλευρά του διακομιστή.

    Στο διακομιστή (ο υπολογιστής που θα λάβει τα αντίγραφα ασφαλείας), βεβαιωθείτε ότι έχουν εγκατασταθεί τα SSH και rsync.

    # yum-y εγκαθιστάτε το ssh rsync

    # sudo apt-get να εγκαταστήσετε το ssh rsync

    Εκτός από την εγκατάσταση του SSH και του rsync στο διακομιστή, το μόνο που χρειάζεται πραγματικά να κάνετε είναι να ρυθμίσετε τις αποθήκες στο διακομιστή όπου θα θέλατε τα αρχεία που έχουν δημιουργηθεί και να βεβαιωθείτε ότι το SSH είναι κλειδωμένο. Βεβαιωθείτε ότι ο χρήστης που σκοπεύετε να χρησιμοποιήσετε έχει έναν πολύπλοκο κωδικό πρόσβασης και μπορεί επίσης να είναι καλή ιδέα να αλλάξετε τη θύρα που ακούει το SSH (προεπιλογή είναι 22).

    Θα εκτελέσουμε την ίδια εντολή που κάναμε για τη χρήση του rsync σε έναν τοπικό υπολογιστή, αλλά θα συμπεριλάβουμε τις απαραίτητες προσθήκες για tunneling rsync μέσω SSH σε ένα διακομιστή στο τοπικό μου δίκτυο. Για τον χρήστη "geek" που συνδέεται με το "192.168.235.137" και χρησιμοποιώντας τους ίδιους διακόπτες όπως παραπάνω (-av -delete) θα εκτελέσουμε τα εξής:

    $ rsync -αυτή -απαλλαγή -e ssh / Directory1 / [email protected]: / Directory2 /

    Αν έχετε SSH ακρόαση σε κάποια θύρα διαφορετική από 22, θα πρέπει να καθορίσετε τον αριθμό θύρας, όπως σε αυτό το παράδειγμα όπου χρησιμοποιώ τη θύρα 12345:

    $ rsync -αυτή -απαλλαγή -e 'ssh -p 12345' / Directory1 / [email protected]: / Directory2 /

    Όπως μπορείτε να δείτε από το παραπάνω στιγμιότυπο οθόνης, η έξοδος που δίνεται όταν δημιουργείτε αντίγραφα ασφαλείας σε όλο το δίκτυο είναι σχεδόν η ίδια με την όταν δημιουργείτε αντίγραφα ασφαλείας τοπικά, το μόνο που αλλάζει είναι η εντολή που χρησιμοποιείτε. Σημειώστε επίσης ότι προκάλεσε κωδικό πρόσβασης. Αυτό γίνεται για έλεγχο ταυτότητας με SSH. Μπορείτε να ρυθμίσετε τα κλειδιά RSA για να παρακάμψετε αυτή τη διαδικασία, η οποία επίσης θα απλοποιήσει την αυτοματοποίηση του rsync.

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

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

    Για να επεξεργαστείτε το αρχείο πίνακα cron για το χρήστη που έχετε συνδεθεί ως, εκτελέστε:

    $ crontab -e

    Θα χρειαστεί να είστε εξοικειωμένοι με το vi για να επεξεργαστείτε αυτό το αρχείο. Πληκτρολογήστε "I" για εισαγωγή και στη συνέχεια ξεκινήστε την επεξεργασία του αρχείου πίνακα cron.

    Το Cron χρησιμοποιεί την ακόλουθη σύνταξη: λεπτό της ώρας, ώρα της ημέρας, ημέρα του μήνα, μήνα του έτους, ημέρα της εβδομάδας, εντολή.

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

    0 22 * ​​* * rsync -av - απομακρυσμένη / Directory1 / / Directory2 /

    Το πρώτο "0" καθορίζει το λεπτό της ώρας και το "22" καθορίζει τις 10 μ.μ. Δεδομένου ότι θέλουμε αυτή την εντολή να τρέχει καθημερινά, θα αφήσουμε τα υπόλοιπα πεδία με αστερίσκους και στη συνέχεια να επικολλήσουμε την εντολή rsync.

    Αφού ολοκληρώσετε τη διαμόρφωση του Cron, πατήστε διαφυγή και στη συνέχεια πληκτρολογήστε ": wq" (χωρίς τα εισαγωγικά) και πατήστε enter. Αυτό θα αποθηκεύσει τις αλλαγές σας στο vi.

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

    Άλλες χρήσιμες λειτουργίες

    Ένα άλλο χρήσιμο πράγμα που μπορείτε να κάνετε είναι να βάλετε τα αντίγραφα ασφαλείας σας σε ένα αρχείο zip. Θα χρειαστεί να καθορίσετε πού θα θέλατε να τοποθετήσετε το αρχείο zip και, στη συνέχεια, να rsync αυτόν τον κατάλογο στον εφεδρικό κατάλογο. Για παράδειγμα:

    $ zip /ZipFiles/archive.zip / Directory1 / && rsync -av - απομακρυσμένη / ZippedFiles / / Directory2 /

    Η παραπάνω εντολή παίρνει τα αρχεία από τον κατάλογο1, τα βάζει στο /ZippedFiles/archive.zip και έπειτα rsyncs εκείνο τον κατάλογο στον κατάλογο2. Αρχικά, μπορείτε να σκεφτείτε ότι αυτή η μέθοδος θα αποδειχθεί αναποτελεσματική για μεγάλα αντίγραφα ασφαλείας, δεδομένου ότι το αρχείο zip θα αλλάξει κάθε φορά που γίνεται η παραμικρή αλλαγή σε ένα αρχείο. Ωστόσο, το rsync μεταφέρει μόνο τα αλλαγμένα δεδομένα, οπότε αν το αρχείο zip είναι 10 GB και μετά προσθέσετε ένα αρχείο κειμένου στον κατάλογο1, το rsync θα ξέρει ότι αυτό είναι όλο που προσθέσατε (ακόμα και αν είναι σε zip) και μεταφέρετε μόνο τα λίγα kilobyte των αλλαγμένων δεδομένων.

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

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