Αρχική σελίδα » πως να » Ο οδηγός μη αρχηγών για συγχρονισμό δεδομένων με το Rsync

    Ο οδηγός μη αρχηγών για συγχρονισμό δεδομένων με το Rsync

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

    Προειδοποίηση: Μόνο οι σύνθετοι Geeks

    Αν κάθονται εκεί σκέπτοντας "Τι είναι το heck είναι rsync;" ή "Χρησιμοποιώ μόνο rsync για πραγματικά απλά καθήκοντα", μπορεί να θέλετε να δείτε το προηγούμενο άρθρο μας σχετικά με τον τρόπο χρήσης του rsync για την δημιουργία αντιγράφων ασφαλείας των δεδομένων σας στο Linux, μια εισαγωγή στο rsync, σας καθοδηγεί μέσω της εγκατάστασης και προβάλλει τις βασικότερες λειτουργίες της. Μόλις έχετε μια σταθερή αντίληψη για τον τρόπο χρήσης του rsync (ειλικρινά, δεν είναι τόσο περίπλοκο) και είστε άνετοι με ένα τερματικό Linux, είστε έτοιμοι να προχωρήσετε σε αυτόν τον προηγμένο οδηγό.

    Εκτέλεση rsync στα Windows

    Πρώτον, ας πάρουμε τους αναγνώστες των Windows στην ίδια σελίδα με τους γκουρού του Linux. Παρόλο που το rsync είναι κατασκευασμένο για να τρέχει σε συστήματα που μοιάζουν με Unix, δεν υπάρχει λόγος να μην μπορείτε να το χρησιμοποιήσετε εξίσου εύκολα στα Windows. Το Cygwin παράγει ένα υπέροχο Linux API που μπορούμε να χρησιμοποιήσουμε για να τρέξουμε το rsync, οπότε κατευθυνθείτε στον ιστότοπό του και κάντε λήψη της έκδοσης 32-bit ή 64-bit, ανάλογα με τον υπολογιστή σας.

    Η εγκατάσταση είναι απλή. μπορείτε να διατηρήσετε όλες τις επιλογές στις προκαθορισμένες τιμές μέχρι να φτάσετε στην οθόνη "Επιλογή Πακέτων".

    Τώρα πρέπει να κάνετε τα ίδια βήματα για τα Vim και SSH, αλλά τα πακέτα πρόκειται να φαίνονται λίγο διαφορετικά όταν τα επιλέγετε, έτσι είναι μερικά screenshots:

    Εγκατάσταση του Vim:

    Εγκατάσταση SSH:

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

    Εντολές rsync: Απλή σε Σύνθετη

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

    Ας πούμε ότι έχετε μια δέσμη αρχείων που χρειάζονται αντίγραφα ασφαλείας - ποιος δεν τις κάνει αυτές τις μέρες; Συνδέετε το φορητό σας σκληρό δίσκο για να δημιουργήσετε αντίγραφα ασφαλείας των αρχείων των υπολογιστών σας και εκδώστε την ακόλουθη εντολή:

    rsync -a / home / geek / αρχεία / / mnt / usb / αρχεία /

    Ή, όπως θα φαινόταν σε έναν υπολογιστή με Windows με τον Cygwin:

    rsync -α / cygdrive / c / αρχεία / / cygdrive / e / αρχεία /

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

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

    rsync -av --delete -e 'ssh -p 12345' / home / geek / files / [email protected]: / home / geek2 / αρχεία /

    Η παραπάνω εντολή θα στείλει τα αρχεία σας σε άλλον υπολογιστή με διεύθυνση IP 10.1.1.1. Θα διαγράψει τα εξωτερικά αρχεία από τον προορισμό που δεν υπάρχει πλέον στον κατάλογο προέλευσης, θα εξάγει τα αρχεία που μεταφέρονται, έτσι ώστε να έχετε μια ιδέα για το τι συμβαίνει και να κάνετε tunnel rsync μέσω SSH στη θύρα 12345.

    ο -a -v -e --αποκλείστε οι διακόπτες είναι μερικές από τις πιο βασικές και χρησιμοποιούνται συνήθως? θα πρέπει να γνωρίζετε ήδη μια καλή συμφωνία για αυτούς, αν διαβάζετε αυτό το σεμινάριο. Ας δούμε μερικούς άλλους διακόπτες που μερικές φορές αγνοούνται αλλά είναι εξαιρετικά χρήσιμοι:

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

    Μια εντολή rsync με το --πρόοδος διακόπτη ως αντίγραφο ασφαλείας βρίσκεται σε εξέλιξη:

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

    - αυτός ο διακόπτης συνδυάζεται --πρόοδος και --μερικός, οπότε χρησιμοποιήστε την και θα κάνει την εντολή σας rsync λίγο πιο ακριβή.

    -z ή --συμπιέζω - Αυτός ο διακόπτης θα κάνει τα αρχεία rsync να συμπιέζουν το αρχείο καθώς μεταφέρονται μειώνοντας το ποσό των δεδομένων που πρέπει να σταλούν στον προορισμό. Είναι πράγματι ένας αρκετά κοινός διακόπτης, αλλά δεν είναι ουσιαστικής σημασίας, μόνο που πραγματικά σας ωφελεί σε μεταφορές μεταξύ αργών συνδέσεων, και δεν κάνει τίποτα για τους ακόλουθους τύπους αρχείων: 7z, avi, bz2, deb, g, z iso, jpeg, jpg, mov, mp3, mp4, ogg, rpm, tbz, tgz, z, zip.

    -h ή --ανθρώπινη αναγνώσιμη - Εάν χρησιμοποιείτε το --πρόοδος διακόπτη, σίγουρα θα θέλετε να χρησιμοποιήσετε και αυτό. Δηλαδή, αν δεν θέλετε να μετατρέψετε τα bytes σε megabytes εν πτήσει. ο -h ο μετασχηματιστής μετατρέπει όλους τους αριθμούς που εκπέμπονται σε μορφή αναγνώσιμη από τον άνθρωπο, έτσι ώστε να μπορείτε πραγματικά να κατανοήσετε την ποσότητα των δεδομένων που μεταφέρονται.

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

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

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

    --περιλαμβάνουν-από - Παρόμοιο με --αποκλείστε-από, αλλά συνδέεται με ένα αρχείο που περιέχει καταλόγους και διαδρομές αρχείων των δεδομένων που θέλετε να υποστηρίζονται.

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

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

    Ας ρίξουμε μια ματιά στην εντολή μας rsync τώρα που έχουμε και μερικούς περισσότερους διακόπτες που έχουν προστεθεί:

    rsync -avzhP - απομακρύνετε - καταγράφει --log-file = / home / geek / rsynclogs / backup.log - εξαιρέστε από '/home/geek/exclude.txt' -e 'ssh -p 12345' / home / geek / αρχεία / [email protected]: / home / geek2 / αρχεία /

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

    Στιγμιότυπα αντιγράφων ασφαλείας

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

    Ο δημιουργός του rsync το συνειδητοποίησε και πρόσθεσε το --αντιγράφων ασφαλείας και --backup-dir έτσι ώστε οι χρήστες να μπορούν να εκτελούν διαφορικά αντίγραφα ασφαλείας. Το πρώτο παράδειγμα στο δικτυακό τόπο του rsync δείχνει ένα σενάριο όπου εκτελείται πλήρες αντίγραφο ασφαλείας κάθε επτά ημέρες και μετά οι αλλαγές σε αυτά τα αρχεία υποστηρίζονται καθημερινά σε χωριστούς καταλόγους. Το πρόβλημα με αυτή τη μέθοδο είναι ότι για να ανακτήσετε τα αρχεία σας, πρέπει να τα ανακτήσετε αποτελεσματικά επτά διαφορετικές φορές. Επιπλέον, οι περισσότεροι geeks τρέχουν τα αντίγραφα ασφαλείας αρκετές φορές την ημέρα, έτσι θα μπορούσατε εύκολα να έχετε 20+ διαφορετικούς καταλόγους αντιγράφων ασφαλείας ανά πάσα στιγμή. Όχι μόνο αποκαθιστά τα αρχεία σας τώρα έναν πόνο, αλλά ακόμη και μόνο κοιτάζοντας τα αντίγραφα ασφαλείας των δεδομένων σας μπορεί να είναι εξαιρετικά χρονοβόρα - θα πρέπει να γνωρίζετε την τελευταία φορά που άλλαξε ένα αρχείο για να βρει το πιο πρόσφατο αντίγραφο ασφαλείας. Πάνω από όλα αυτά, είναι αναποτελεσματικό να τρέχετε μόνο εβδομαδιαία (ή ακόμα και λιγότερο συχνά) σταδιακά αντίγραφα ασφαλείας.

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

    Υποθέστε ότι έχουμε ένα εφεδρικό σενάριο που τρέχει και αυτόματα δημιουργεί αντίγραφα ασφαλείας των δεδομένων μας κάθε δύο ώρες. Κάθε φορά που το rsync το κάνει, ονομάζει κάθε αντίγραφο ασφαλείας με τη μορφή: Backup-month-day-year-time.

    Έτσι, στο τέλος μια τυπική ημέρα, θα είχαμε μια λίστα με φακέλους στον κατάλογο προορισμού μας όπως αυτό:

    Όταν διασχίζετε κάποιον από αυτούς τους καταλόγους, θα δείτε κάθε αρχείο από τον κατάλογο πηγής ακριβώς όπως ήταν εκείνη τη στιγμή. Ωστόσο, δεν θα υπήρχαν αντίγραφα σε δύο καταλόγους. rsync το επιτυγχάνει αυτό με τη χρήση της hardlinking μέσω του --link-dest = DIR διαφωνία.

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

    #! / bin / bash

    #copy old time.txt στο time2.txt

    ναι | cp ~ / backup / time.txt ~ / backup / time2.txt

    #overwrite παλιό αρχείο time.txt με νέα ώρα

    echo 'ημερομηνία + "% F-% I% p"'> ~ / backup / time.txt

    #make το αρχείο καταγραφής

    echo ""> ~ / backup / rsync-getate + "% F-% I% p" '

    #rsync εντολή

    rsync -avzhPR -chmod = Du = rwx, Dgo = rx, Fu = rw, Fgo = r - απομακρύνετε - stats - log-file = p "- log -exclude-από '~ / exclude.txt' - link-dest = / home / geek2 / files / 'cat ~ / backup / time2.txt' -e 'ssh -p 12345' / home / geek / files / [email protected]: / home / geek2 / αρχεία / 'ημερομηνία +'% F-% I% p '

    # μην ξεχάσετε να σπάσετε το αρχείο καταγραφής και να το βάλετε με το αντίγραφο ασφαλείας

    scp -P 12345 ~ / backup / rsync-'cat ~ / backup / time.txt'.log [email protected]: / home / geek2 / αρχεία / 'cat ~ / backup / time.txt' / rsync -cat ~ / backup / time.txt'.log

    Αυτό θα ήταν ένα τυπικό σενάριο rsync snapshot. Σε περίπτωση που σας χάσει κάπου, ας το χωρίσουμε κομμάτι κομμάτι:

    Η πρώτη γραμμή της δέσμης ενεργειών μας αντιγράφει τα περιεχόμενα του time.txt στο time2.txt. Ο σωληνίσκος yes πρέπει να επιβεβαιώσει ότι θέλουμε να αντικαταστήσουμε το αρχείο. Στη συνέχεια, παίρνουμε την τρέχουσα ώρα και την βάζουμε σε time.txt. Αυτά τα αρχεία θα είναι χρήσιμα αργότερα.

    Η επόμενη γραμμή κάνει το αρχείο καταγραφής rsync, ονομάζοντας το rsync-date.log (όπου η ημερομηνία είναι η πραγματική ημερομηνία και ώρα).

    Τώρα, η σύνθετη εντολή rsync που σας έχουμε προειδοποιήσει για:

    -avzhPR, -e, --delete, --stats, --log-αρχείο, --exclude-από, --link-dest - Μόνο οι διακόπτες για τους οποίους συζητήσαμε νωρίτερα. μετακινηθείτε προς τα επάνω εάν χρειάζεστε μια ανανέωση.

    --chmod = Du = rwx, Dgo = rx, Fu = rw, Fgo = r - Αυτά είναι τα δικαιώματα για τον κατάλογο προορισμού. Δεδομένου ότι κάνουμε αυτόν τον κατάλογο στη μέση του rsync script μας, πρέπει να καθορίσουμε τα δικαιώματα έτσι ώστε ο χρήστης μας να μπορεί να γράψει αρχεία σε αυτό.

    Η χρήση εντολών ημερομηνίας και γάτας

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

    Το αρχείο καταγραφής καθορίζεται ως εξής:

    ~ / backup / rsync-getate + "% F-% I% p" '

    Εναλλακτικά, θα μπορούσαμε να το διευκρινίσουμε ως εξής:

    ~ / backup / rsync-'cat ~ / backup / time.txt'.log

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

    Το αρχείο προορισμού σύνδεσης ορίζεται ως:

    --link-dest = / home / geek2 / αρχεία / 'cat ~ / backup / time2.txt'

    Αυτό σημαίνει ότι το --link-dest εντολή δίνεται ο κατάλογος του προηγούμενου αντιγράφου ασφαλείας. Αν τρέχουμε αντίγραφα ασφαλείας κάθε δύο ώρες και είναι 4:00 μ.μ. την ώρα που τρέξαμε αυτό το σενάριο, τότε το --link-dest η εντολή αναζητά τον κατάλογο που δημιουργήθηκε στις 2:00 μ.μ. και μεταφέρει μόνο τα δεδομένα που έχουν αλλάξει έκτοτε (αν υπάρχουν).

    Για να επαναλάβω, αυτός είναι ο λόγος που το time.txt αντιγράφεται στο time2.txt στην αρχή του σεναρίου, οπότε ο --link-dest η εντολή μπορεί να αναφέρει εκείνη την ώρα αργότερα.

    Ο κατάλογος προορισμού ορίζεται ως:

    [email protected]: / home / geek2 / αρχεία / 'ημερομηνία +'% F-% I% p ''

    Αυτή η εντολή απλά βάζει τα αρχεία προέλευσης σε έναν κατάλογο ο οποίος έχει έναν τίτλο της τρέχουσας ημερομηνίας και ώρας.

    Τέλος, βεβαιώνουμε ότι ένα αντίγραφο του αρχείου καταγραφής βρίσκεται μέσα στο αντίγραφο ασφαλείας.

    scp -P 12345 ~ / backup / rsync-'cat ~ / backup / time.txt'.log [email protected]: / home / geek2 / αρχεία / 'cat ~ / backup / time.txt' / rsync -cat ~ / backup / time.txt'.log

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

    Αυτοματοποίηση

    Χρησιμοποιήστε το Cron σε Linux ή το Task Scheduler σε Windows για να αυτοματοποιήσετε το rsync script. Ένα πράγμα που πρέπει να προσέχετε είναι να βεβαιωθείτε ότι τερματίζετε τις τρέχουσες διαδικασίες rsync πριν συνεχίσετε μια νέα. Ο προγραμματιστής εργασιών φαίνεται να κλείνει αυτόματα τις υπάρχουσες παρουσίες, αλλά για το Linux θα πρέπει να είστε λίγο πιο δημιουργικοί.

    Οι περισσότερες διανομές Linux μπορούν να χρησιμοποιήσουν την εντολή pkill, οπότε φροντίστε να προσθέσετε τα παρακάτω στην αρχή του script rsync:

    pkill-9 rsync

    Κρυπτογράφηση

    Όχι, δεν έχουμε κάνει ακόμα. Έχουμε τελικά μια φανταστική (και δωρεάν!) Λύση δημιουργίας αντιγράφων ασφαλείας στη θέση της, αλλά όλα τα αρχεία μας είναι ακόμα ευάλωτα σε κλοπή. Ας ελπίσουμε ότι θα δημιουργήσετε αντίγραφα ασφαλείας των αρχείων σας σε κάποια απόσταση εκατοντάδων χιλιομέτρων. Ανεξάρτητα από το πόσο ασφαλές είναι αυτό το μακρινό μέρος, η κλοπή και η πειρατεία μπορεί να είναι πάντα προβλήματα.

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

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

    Για το λόγο αυτό, είναι καλύτερο / ευκολότερο να χρησιμοποιήσετε κάποιο είδος κρυπτογράφησης δίσκων, όπως το BitLocker για Windows ή το dm-crypt για Linux. Με αυτόν τον τρόπο, τα δεδομένα σας προστατεύονται σε περίπτωση κλοπής, αλλά τα αρχεία μπορούν να μεταφερθούν με το rsync και η κρυπτογράφηση δεν θα εμποδίσει την απόδοσή του. Υπάρχουν άλλες διαθέσιμες επιλογές που λειτουργούν παρόμοια με το rsync ή ακόμα και εφαρμόζουν κάποια μορφή του, όπως η Duplicity, αλλά δεν διαθέτουν κάποια από τα χαρακτηριστικά που μπορεί να προσφέρει το rsync.

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