Rsync (Απομακρυσμένος συγχρονισμός) είναι μια πιο συχνά χρησιμοποιούμενη εντολή για αντιγραφή και συγχρονισμός αρχεία και καταλόγους ελάχιστα καθώς τοπικά σε Linux/Unix συστήματα. Με τη βοήθεια του rsync εντολή μπορείτε να αντιγράψετε και να συγχρονίσετε τα δεδομένα σας απομακρυσμένα και τοπικά σε καταλόγους, σε δίσκους και δίκτυα, να δημιουργήσετε αντίγραφα ασφαλείας δεδομένων και να κάνετε κατοπτρισμό μεταξύ δύο μηχανών Linux.
Αυτό το άρθρο εξηγεί 10 βασική και προηγμένη χρήση του rsync εντολή για τη μεταφορά των αρχείων σας από απόσταση και τοπικά Linux βασισμένες μηχανές. Δεν χρειάζεται να είσαι ρίζα χρήστη να τρέξει rsync εντολή.
# rsync επιλογές προορισμού προέλευσης
Μπορούμε να εγκαταστήσουμε rsync πακέτο με τη βοήθεια της ακόλουθης εντολής.
# yum install rsync (Ενεργό κόκκινο καπέλοβασισμένα συστήματα) # apt-get install rsync (ΕνεργόDebian βασισμένα συστήματα)
Αυτή η ακόλουθη εντολή θα συγχρονίσει ένα μεμονωμένο αρχείο σε ένα τοπικό μηχάνημα από μια θέση σε άλλη τοποθεσία. Εδώ σε αυτό το παράδειγμα, ένα όνομα αρχείου backup.tar πρέπει να αντιγραφεί ή να συγχρονιστεί /tmp/backups/ ντοσιέ.
[[προστασία ηλεκτρονικού ταχυδρομείου]]# rsync -zvh backup.tar/tmp/backups/created directory/tmp/backups backup.tar στάλθηκαν 14,71 εκατομμύρια byte έλαβαν 31 bytes 3,27 εκατομμύρια bytes/sec συνολικό μέγεθος είναι 16,18M επιτάχυνση είναι 1,10
Στο παραπάνω παράδειγμα, μπορείτε να δείτε ότι εάν ο προορισμός δεν υπάρχει ήδη, το rsync θα δημιουργήσει αυτόματα έναν κατάλογο για τον προορισμό.
Η ακόλουθη εντολή θα μεταφέρει ή θα συγχρονίσει όλα τα αρχεία από έναν κατάλογο σε διαφορετικό κατάλογο στον ίδιο υπολογιστή. Εδώ σε αυτό το παράδειγμα, /root/rpmpkgs περιέχει ορισμένα αρχεία πακέτου rpm και θέλετε να αντιγραφεί αυτός ο κατάλογος μέσα /tmp/backups/ ντοσιέ.
[[προστασία ηλεκτρονικού ταχυδρομείου]]# rsync -avzh/root/rpmpkgs/tmp/backups/αποστολή πρόσθετης λίστας αρχείων rpmpkgs/rpmpkgs/httpd-2.2.3-82.el5.centos.i386.rpm rpmpkgs/mod_ssl-2.2.3-82.el5.centos.i386.rpm rpmpkgs/nagios-3.5.0.tar.gz rpmpkgs/nagios-plugins-1.4.16.tar.gz εστάλη 4,99 εκατομμύρια byte έλαβε 92 bytes 3,33 εκατομμύρια byte/sec το συνολικό μέγεθος είναι 4,99M επιτάχυνση είναι 1,00
Αυτή η εντολή θα συγχρονίσει έναν κατάλογο από ένα τοπικό μηχάνημα σε ένα απομακρυσμένο μηχάνημα. Για παράδειγμα: Υπάρχει ένας φάκελος στον τοπικό υπολογιστή σας "rpmpkgs»Που περιέχει μερικά RPM πακέτα και θέλετε το περιεχόμενο του τοπικού καταλόγου να αποσταλεί σε απομακρυσμένο διακομιστή, μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή.
[[προστασία ηλεκτρονικού ταχυδρομείου]] $ rsync -avz rpmpkgs/ [προστασία ηλεκτρονικού ταχυδρομείου]:/Σπίτι/ [προστασία ηλεκτρονικού ταχυδρομείου]κωδικός πρόσβασης: αποστολή πρόσθετης λίστας αρχείων ./ httpd-2.2.3-82.el5.centos.i386.rpm mod_ssl-2.2.3-82.el5.centos.i386.rpm nagios-3.5.0.tar.gz nagios-plugins-1.4.16.tar.gz έστειλε 4993369 byte έλαβε 91 bytes 399476,80 bytes/sec το συνολικό μέγεθος είναι 4991313 η επιτάχυνση είναι 1,00
Αυτή η εντολή θα σας βοηθήσει να συγχρονίσετε έναν απομακρυσμένο κατάλογο με έναν τοπικό κατάλογο. Εδώ σε αυτό το παράδειγμα, ένας κατάλογος /home/tarunika/rpmpkgs που βρίσκεται σε απομακρυσμένο διακομιστή αντιγράφεται στον τοπικό σας υπολογιστή στο /tmp/myrpms.
[[προστασία ηλεκτρονικού ταχυδρομείου]]# rsync -avzh [προστασία ηλεκτρονικού ταχυδρομείου]:/home/tarunika/rpmpkgs/tmp/myrpms [προστασία ηλεκτρονικού ταχυδρομείου]κωδικός πρόσβασης: λήψη πρόσθετης λίστας αρχείων που δημιουργήθηκε κατάλογος/tmp/myrpms rpmpkgs/rpmpkgs/httpd-2.2.3-82.el5.centos.i386.rpm rpmpkgs/mod_ssl-2.2.3-82.el5.centos.i386.rpm rpmpkgs/nagios-3.5.0.tar.gz rpmpkgs/nagios-plugins-1.4.16.tar.gz έστειλε 91 byte έλαβε 4.99M byte 322.16K byte/sec το συνολικό μέγεθος είναι 4,99M επιτάχυνση είναι 1,00
Με το rsync, μπορούμε να χρησιμοποιήσουμε SSH (Ασφαλές κέλυφος) για τη μεταφορά δεδομένων, χρησιμοποιώντας SSH κατά τη μεταφορά των δεδομένων μας, μπορείτε να διασφαλίσετε ότι τα δεδομένα σας μεταφέρονται σε ασφαλή σύνδεση με κρυπτογράφηση, έτσι ώστε κανείς να μην μπορεί να διαβάσει τα δεδομένα σας ενώ μεταφέρονται μέσω του καλωδίου στο Διαδίκτυο.
Επίσης, όταν χρησιμοποιούμε rsync πρέπει να παρέχουμε το χρήστης/ρίζα κωδικό πρόσβασης για να ολοκληρώσετε τη συγκεκριμένη εργασία, οπότε χρησιμοποιώντας SSH επιλογή θα στείλει τα στοιχεία σύνδεσής σας με κρυπτογραφημένο τρόπο, έτσι ώστε τα δικά σας Κωδικός πρόσβασης θα είναι ασφαλές.
Για να καθορίσετε ένα πρωτόκολλο με rsync πρέπει να δώσεις "-μι”Με το όνομα πρωτοκόλλου που θέλετε να χρησιμοποιήσετε. Εδώ σε αυτό το παράδειγμα, θα χρησιμοποιήσουμε το "ssh" με "-μι”Και πραγματοποιήστε μεταφορά δεδομένων.
[[προστασία ηλεκτρονικού ταχυδρομείου]]# rsync -avzhe ssh [προστασία ηλεκτρονικού ταχυδρομείου]: /root/install.log/tmp/ [προστασία ηλεκτρονικού ταχυδρομείου]κωδικός πρόσβασης: λήψη πρόσθετης εγκατάστασης λίστας αρχείων. αποστολή 30 byte έλαβε 8,12K byte 1,48K bytes/sec συνολικό μέγεθος 30,74K επιτάχυνση 3,77
[[προστασία ηλεκτρονικού ταχυδρομείου]]# rsync -avzhe ssh backup.tar [προστασία ηλεκτρονικού ταχυδρομείου]:/αντίγραφα ασφαλείας/ [προστασία ηλεκτρονικού ταχυδρομείου]κωδικός πρόσβασης: η αποστολή πρόσθετης λίστας αρχείων backup.tar στάλθηκαν 14,71 εκατομμύρια byte που ελήφθησαν 31 bytes 1,28 εκατομμύρια bytes/sec το συνολικό μέγεθος είναι 16,18M επιτάχυνση είναι 1,10.
Προτεινόμενη ανάγνωση:Χρησιμοποιήστε το Rsync για να συγχρονίσετε νέα ή τροποποιημένα/τροποποιημένα αρχεία στο Linux
Για να δείξουμε την πρόοδο κατά τη μεταφορά δεδομένων από ένα μηχάνημα σε διαφορετικό μηχάνημα, μπορούμε να χρησιμοποιήσουμε το «-πρόοδος' επιλογή για αυτό. Εμφανίζει τα αρχεία και το χρόνο που απομένει για να ολοκληρωθεί η μεταφορά.
[[προστασία ηλεκτρονικού ταχυδρομείου]]# rsync -avzhe ssh --progress /home /rpmpkgs [προστασία ηλεκτρονικού ταχυδρομείου]:/root/rpmpkgs [προστασία ηλεκτρονικού ταχυδρομείου]κωδικός πρόσβασης: αποστολή πρόσθετης λίστας αρχείων που δημιουργήθηκε κατάλογος/root/rpmpkgs rpmpkgs/rpmpkgs/httpd-2.2.3-82.el5.centos.i386.rpm 1.02M 100% 2.72MB/s 0:00:00 (xfer#1, για έλεγχο = 3/5) rpmpkgs/mod_ssl-2.2.3-82.el5.centos.i386.rpm 99.04K 100% 241.19kB/s 0:00:00 (xfer#2, για έλεγχο = 2/5 ) rpmpkgs/nagios-3.5.0.tar.gz 1.79M 100% 1.56MB/s 0:00:01 (xfer#3, to-check = 1/5) rpmpkgs/nagios-plugins-1.4.16.tar.gz 2.09M 100% 1.47MB/s 0:00:01 (xfer#4, για έλεγχο = 0/5) στάλθηκε 4.99M bytes που ελήφθησαν 92 byte 475,56K bytes/sec το συνολικό μέγεθος είναι 4,99M η επιτάχυνση είναι 1,00
Αυτές οι δύο επιλογές μας επιτρέπουν περιλαμβάνω και αποκλείω με τον καθορισμό παραμέτρων με αυτές τις επιλογές μας βοηθά να καθορίσουμε αυτά τα αρχεία ή καταλόγους που θέλετε να συμπεριλάβετε στο συγχρονισμό σας και να εξαιρέσετε αρχεία και φακέλους με τους οποίους δεν θέλετε να είστε μεταφέρθηκε.
Εδώ σε αυτό το παράδειγμα, η εντολή rsync θα περιλαμβάνει τα αρχεία και τον κατάλογο μόνο που ξεκινά με 'R»Και εξαιρέστε όλα τα άλλα αρχεία και κατάλογο.
[[προστασία ηλεκτρονικού ταχυδρομείου]]# rsync -avze ssh -συμπεριλάβετε 'R*' -εξαιρέστε '*' [προστασία ηλεκτρονικού ταχυδρομείου]:/var/lib/rpm//root/rpm [προστασία ηλεκτρονικού ταχυδρομείου]Κωδικός πρόσβασης: Λήψη πρόσθετης λίστας αρχείων που δημιουργήθηκε κατάλογος/root/rpm ./ Απαιτούμενο όνομα Απαιτείται μετατροπή 67 byte έλαβε 167289 byte 7438,04 byte/sec συνολικό μέγεθος είναι 434176 επιτάχυνση είναι 2,59
Εάν ένα αρχείο ή κατάλογος δεν υπάρχει στην πηγή, αλλά υπάρχει ήδη στον προορισμό, ίσως θέλετε να διαγράψετε αυτό το υπάρχον αρχείο/κατάλογο στον στόχο κατά τον συγχρονισμό.
Μπορούμε να χρησιμοποιήσουμε '-διαγράφω«Επιλογή διαγραφής αρχείων που δεν υπάρχουν στον πηγαίο κατάλογο.
Η πηγή και ο στόχος είναι συγχρονισμένοι. Τώρα δημιουργείτε νέο αρχείο test.txt στο στόχο.
[[προστασία ηλεκτρονικού ταχυδρομείου]]# touch test.txt. [[προστασία ηλεκτρονικού ταχυδρομείου]]# rsync -avz --διαγραφή [προστασία ηλεκτρονικού ταχυδρομείου]:/var/lib/rpm/. Κωδικός πρόσβασης: λήψη λίστας αρχείων... Έγινε. διαγραφή test.txt. ./ εστάλη 26 bytes έλαβε 390 bytes 48,94 bytes/sec. το συνολικό μέγεθος είναι 45305958 speedup είναι 108908.55
Το Target ονομάζεται το νέο αρχείο test.txt, όταν συγχρονίσετε με την πηγή με '-διαγράφω«Επιλογή, αφαίρεσε το αρχείο test.txt.
Μπορείτε να καθορίσετε το Μέγιστη μέγεθος αρχείου προς μεταφορά ή συγχρονισμό. Μπορείτε να το κάνετε με "-μέγιστο μέγεθος”Επιλογή. Εδώ σε αυτό το παράδειγμα, είναι το μέγιστο μέγεθος αρχείου 200κ, έτσι αυτή η εντολή θα μεταφέρει μόνο εκείνα τα αρχεία που είναι ίσα ή μικρότερα από 200κ.
[[προστασία ηλεκτρονικού ταχυδρομείου]]# rsync -avzhe ssh --max -size = '200k'/var/lib/rpm/ [προστασία ηλεκτρονικού ταχυδρομείου]:/root/tmprpm [προστασία ηλεκτρονικού ταχυδρομείου]κωδικός πρόσβασης: αποστολή πρόσθετης λίστας αρχείων που δημιουργήθηκε κατάλογος/root/tmprpm ./ Conflictname Group Installtid Name Providerversion Pubkeys Requireversion Sha1header Sigmd5 Triggername __db.001 στάλθηκε 189.79K bytes έλαβε 224 bytes 200.43
Τώρα, ας υποθέσουμε ότι έχετε έναν κύριο διακομιστή ιστού και έναν διακομιστή δημιουργίας αντιγράφων ασφαλείας δεδομένων, δημιουργήσατε ένα καθημερινό αντίγραφο ασφαλείας και συγχρονίστηκε με τον εφεδρικό διακομιστή σας, τώρα δεν θέλετε να διατηρήσετε αυτό το τοπικό αντίγραφο του αντιγράφου ασφαλείας στον ιστό σας υπηρέτης.
Λοιπόν, θα περιμένετε να ολοκληρωθεί η μεταφορά και, στη συνέχεια, θα διαγράψετε με μη αυτόματο τρόπο το τοπικό αντίγραφο ασφαλείας; Φυσικά όχι. Αυτή η αυτόματη διαγραφή μπορεί να γίνει χρησιμοποιώντας "–Αφαίρεση αρχείων-πηγών'Επιλογή.
[[προστασία ηλεκτρονικού ταχυδρομείου]]# rsync --remove-source-files -zvh backup.tar/tmp/backups/backup.tar στάλθηκαν 14,71 εκατομμύρια byte που έλαβαν 31 bytes 4.20 εκατομμύρια bytes/sec το συνολικό μέγεθος είναι 16,18M η επιτάχυνση είναι 1,10 [[προστασία ηλεκτρονικού ταχυδρομείου]]# ll backup.tar ls: backup.tar: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος
Εάν είστε αρχάριος και χρησιμοποιείτε rsync και δεν ξέρετε τι ακριβώς κάνει η εντολή σας. Το Rsync θα μπορούσε πραγματικά να μπερδέψει τα πράγματα στο φάκελο προορισμού σας και στη συνέχεια να κάνετε αναίρεση μπορεί να είναι μια κουραστική δουλειά.
Προτεινόμενη ανάγνωση:Πώς να συγχρονίσετε δύο διακομιστές/ιστότοπους Apache Ιστού χρησιμοποιώντας το Rsync
Η χρήση αυτής της επιλογής δεν θα πραγματοποιήσει αλλαγές, αλλά εκτελεί μόνο την εντολή σε στεγνό στάδιο και εμφανίζει την έξοδο της εντολής, αν η έξοδος δείχνει ακριβώς το ίδιο που θέλετε να κάνετε, μπορείτε να αφαιρέσετε-στεγνό τρέξιμο«Επιλογή από την εντολή σας και εκτελέστε στο τερματικό.
[προστασία ηλεκτρονικού ταχυδρομείου]]# rsync --dry-run --remove-source-files -zvh backup.tar/tmp/backups/backup.tar στάλθηκαν 35 bytes έλαβαν 15 bytes 100.00 bytes/sec το συνολικό μέγεθος είναι 16.18M επιτάχυνση είναι 323584.00 (DRY RUN)
Μπορείτε να ορίσετε το όριο εύρους ζώνης κατά τη μεταφορά δεδομένων από ένα μηχάνημα σε άλλο μηχάνημα με τη βοήθεια του «- όριο'Επιλογή. Αυτές οι επιλογές μας βοηθούν να περιορίσουμε I/O εύρος ζώνης.
[[προστασία ηλεκτρονικού ταχυδρομείου]]# rsync --bwlimit = 100 -avzhe ssh/var/lib/rpm/ [προστασία ηλεκτρονικού ταχυδρομείου]:/root/tmprpm/ [προστασία ηλεκτρονικού ταχυδρομείου]κωδικός πρόσβασης: αποστολή πρόσθετης λίστας αρχείων. έστειλε 324 byte έλαβε 12 byte 61,09 byte/sec. το συνολικό μέγεθος είναι 38.08M επιτάχυνση είναι 113347.05
Επίσης, από προεπιλογή, ο συγχρονισμός rsync άλλαξε αποκλειστικά μπλοκ και byte, αν θέλετε να συγχρονίσετε ρητά ολόκληρο το αρχείο, χρησιμοποιήστε το «-W«Επιλογή με αυτό.
[[προστασία ηλεκτρονικού ταχυδρομείου]]# rsync -zvhW backup.tar /tmp/backups/backup.tar. backup.tar. εστάλη 14,71Μ byte έλαβε 31 byte 3,27M byte/sec. το συνολικό μέγεθος είναι 16,18M επιτάχυνση είναι 1,10
Όλα αυτά με το rsync τώρα, μπορείτε να δείτε σελίδες ανδρών για περισσότερες επιλογές. Μείνετε συνδεδεμένοι με Tecmint για πιο συναρπαστικά και ενδιαφέροντα μαθήματα στο μέλλον. Άσε το δικό σου σχόλια και προτάσεις.