Οδηγός Rysnc και 11 παραδείγματα για την αποτελεσματική χρήση του

Το Rsync είναι ένα δωρεάν στη χρήση εργαλείο γραμμής εντολών που σας επιτρέπει να συγχρονίζετε αρχεία τοπικά και απομακρυσμένα. Με αυτό, μπορείτε να μεταφέρετε αρχεία και καταλόγους.
Αυτό το καθιστά πολύ χρήσιμο για τη μετεγκατάσταση δεδομένων, τη δημιουργία αντιγράφων ασφαλείας και τον κατοπτρισμό, καθιστώντας το ιδανικό για webmasters και διαχειριστές για επαναλαμβανόμενες εργασίες μεταφοράς δεδομένων.
Αυτό το άρθρο θα μας διδάξει πώς λειτουργεί το Rysnc και θα δώσει μερικά χρήσιμα παραδείγματα.
Πίνακας περιεχομένων
Πώς λειτουργεί το Rsync;
Το Rsync είναι ένα βοηθητικό πρόγραμμα γραμμής εντολών απομακρυσμένου συγχρονισμού για συστήματα που μοιάζουν με Unix. Δίνει στον χρήστη τη δυνατότητα να μεταφέρει/συγχρονίζει αρχεία μεταξύ μηχανημάτων ή δύο κεντρικών υπολογιστών απρόσκοπτα.
Κάτω από την κουκούλα, το rsync χρησιμοποιεί τον αλγόριθμο μεταφοράς δέλτα. Αυτός ο αλγόριθμος περιλαμβάνει την αντιγραφή διαφορών μεταξύ των δύο αρχείων σε δύο κεντρικούς υπολογιστές (πηγή και προορισμός). Η πηγή και ο προορισμός μπορεί να είναι τοπική ή απομακρυσμένη. Η εντολή rsync μπορεί να εκτελέσει εργασίες αντιγραφής/συγχρονισμού δεδομένων με δύο τρόπους. Αυτά είναι:
- Χρησιμοποιήστε ssh, rsh για αντιγραφή/συγχρονισμό μεταξύ δύο κεντρικών υπολογιστών.
- Χρησιμοποιήστε τον δαίμονα rsync TCP για αντιγραφή/συγχρονισμό.
Καθώς έχει σχεδιαστεί για να λειτουργεί σε συστήματα που μοιάζουν με Unix, λειτουργεί και σε Linux.
Η διαδικασία βήμα προς βήμα rsync χρησιμοποιεί ως εξής:
- Το Rsync χρησιμοποιεί SSH για να συνδεθεί στον απομακρυσμένο κεντρικό υπολογιστή και ζητά κωδικό πρόσβασης.
- Μόλις συνδεθεί, το rsync του απομακρυσμένου κεντρικού υπολογιστή επικοινωνεί με την πηγή.
- Αυτά τα προγράμματα θα καθορίσουν στη συνέχεια τα αρχεία και τους καταλόγους που χρειάζονται συγχρονισμό. Χρησιμοποιεί έναν αλγόριθμο μεταφοράς δέλτα για να ελέγξει τη διαφορά μεταξύ των αρχείων.
Εάν η εντολή rsync δεν βρει ένα αρχείο στο τηλεχειριστήριο αλλά όχι στον κεντρικό υπολογιστή, θα το αντιγράψει και θα το μεταφέρει στο κεντρικό σύστημα. Ομοίως, για ήδη υπάρχοντα αρχεία (τόσο σε κεντρικό όσο και σε απομακρυσμένο), θα αντιγράψει τη διαφορά μεταξύ τους (δηλαδή, τα αλλαγμένα μέρη). Τέλος, θα αγνοήσει τα υπάρχοντα αρχεία και στα δύο συστήματα χωρίς τροποποιήσεις.
Η εντολή rsync επιτυγχάνει σταδιακές ενημερώσεις αποθηκεύοντας τη διαφορά σε ένα προσωρινό αρχείο πριν το ωθήσει στον προορισμό.
Πριν ξεκινήσεις:
- Πρέπει να έχετε δικαιώματα root ή sudo
- Έχετε πρόσβαση στο τερματικό/γραμμή εντολών
- Πρόσβαση SSH για ασφαλή εκτέλεση εντολών rsync
- Χρειάζεστε επίσης δύο μηχανήματα για να κάνετε rsync.
Για το σεμινάριο, θα χρησιμοποιήσουμε το Linux Mint 21.1 Vera. Μπορείτε εύκολα να ακολουθήσετε τον οδηγό χωρίς προβλήματα χρησιμοποιώντας οποιαδήποτε άλλη διανομή Linux.
Γιατί να χρησιμοποιήσετε το rsync Over Scp;
Το Scp (ασφαλές αντίγραφο) είναι ένα δημοφιλές πρωτόκολλο γραμμής εντολών που επιτρέπει στους χρήστες να αντιγράφουν αρχεία. Ακολουθεί μια γραμμική προσέγγιση για την αντιγραφή. Αυτό σημαίνει ότι απλώς αντιγράφει τα αρχεία από την πηγή στον προορισμό. Για να το κάνει με ασφάλεια, χρησιμοποιεί SSH.
Η σύνταξη της εντολής scp είναι η παρακάτω:
scp option SOURCE DESTINATION
Ωστόσο, το ερώτημα παραμένει, γιατί να χρησιμοποιήσετε το rsync πάνω από το scp;
Λοιπόν, υπάρχουν πολλά οφέλη από τη χρήση του rsync. Αυτά τα οφέλη περιλαμβάνουν:
- Ταχύτερη εκτέλεση: Το Rsync είναι ταχύτερο από το scp επειδή χρησιμοποιεί πρωτόκολλο απομακρυσμένης ενημέρωσης. Αυτό του επιτρέπει να μεταφέρει μόνο διαφορές και όχι ολόκληρο το αρχείο. Επομένως, εάν ρυθμίσετε έναν κανονικό συγχρονισμό με την πάροδο του χρόνου, χρειάζεται μόνο να κάνετε ένα πλήρες αντίγραφο την πρώτη φορά. Από την επόμενη φορά και μετά, αντιγράφει μόνο τα ενημερωμένα μέρη με τη βοήθεια του αλγόριθμου μεταφοράς δέλτα.
- Λιγότερη κατανάλωση εύρους ζώνης: Καθώς το rsync δεν χρειάζεται να αντιγράψει ξανά ολόκληρο το αρχείο, οδηγεί σε μικρότερη κατανάλωση εύρους ζώνης. Επιπλέον, χρησιμοποιεί επίσης αλγόριθμους συμπίεσης/αποσυμπίεσης για την ελαχιστοποίηση του μεγέθους του αρχείου κατά τη μεταφορά.
- Περισσότερες επιλογές γραμμής εντολών: Το Rsync κερδίζει επίσης το scp στον αριθμό των επιλογών της γραμμής εντολών. Αυτό σημαίνει ότι μπορείτε να βελτιστοποιήσετε τον συγχρονισμό περισσότερο από scp.
Συμπερασματικά, το rsync είναι ένα εξαιρετικό εργαλείο αυξητικού συγχρονισμού. Το εργαλείο scp είναι επίσης χρήσιμο για την ασφαλή μεταφορά/συγχρονισμό αρχείων. Σε ένα πραγματικό σενάριο, το scp είναι κατάλληλο για καθημερινές εργασίες, εάν αναζητάτε μια πιο απλή προσέγγιση. Ωστόσο, για επαναλαμβανόμενες εργασίες, χρησιμοποιήστε το rsync.
Σύνταξη εντολής Rsync
Η εντολή rsync είναι η παρακάτω:
Εδώ, οι όροι ορίζονται παρακάτω:
- ΕΠΙΛΟΓΗ – Αυτές είναι οι επιλογές συγχρονισμού
- ΠΗΓΗ – Κατάλογος πηγής
- DEST – Κατάλογος προορισμών
- USER – Όνομα χρήστη από απόσταση
- HOST – Όνομα απομακρυσμένου κεντρικού υπολογιστή ή διεύθυνση IP
Οι επιλογές είναι παράμετροι που προσφέρουν πρόσθετη λειτουργικότητα στην εντολή. Για παράδειγμα, μπορείτε να συγχρονίσετε δεδομένα αναδρομικά με την επιλογή -r. Ωστόσο, η επιλογή -r δεν συγχρονίζει την ιδιοκτησία για ομάδες και χρήστες, χρονικές σημάνσεις, δικαιώματα ή συμβολικούς συνδέσμους. Αντίθετα, μπορείτε να χρησιμοποιήσετε την επιλογή -a, η οποία εκτελεί την εντολή σε λειτουργία αρχειοθέτησης, διασφαλίζοντας ότι όλη η ιδιοκτησία, τα δικαιώματα και οι συμβολικοί σύνδεσμοι του αρχείου διατηρούνται κατά την αντιγραφή.
Άλλες επιλογές συγχρονισμού περιλαμβάνουν:
- -z: συμπίεση δεδομένων για εξοικονόμηση χώρου
- -h: παρέχει αναγνώσιμη από τον άνθρωπο έξοδο μορφής
- -b: εκτελεί αντίγραφα ασφαλείας κατά τη διαδικασία συγχρονισμού δεδομένων
- -e: χρήση πρωτοκόλλου SSH για απομακρυσμένες μεταφορές δεδομένων
- -πρόοδος: εμφάνιση της προόδου συγχρονισμού δεδομένων
- -v: ζητήστε από το rsync να εμφανίσει αναλυτική έξοδο
- –n: εκτελέστε μια στεγνή εκτέλεση για να δοκιμάσετε τις ρυθμίσεις και τις ρυθμίσεις για συγχρονισμό δεδομένων
- -q: καταργήστε την έξοδο και τις επιλογές της εντολής rsync
Εγκατάσταση rsync
Τα περισσότερα συστήματα Unix και Linux διαθέτουν εγκατεστημένο το rsync. Εάν το σύστημά σας δεν διαθέτει rsync, μπορείτε να το εγκαταστήσετε χρησιμοποιώντας τις ακόλουθες εντολές.
Για Debian/Ubuntu και Mint
sudo apt-get install rsync
Για το Arch Linux
pacman -S rsync
Στο Gentoo
emerge sys-apps/rsync
Σε CentOS/Fedora/REHL
sudo yum install rsync
Στο openSUSE
sudo zypper install rsync
Καθώς έχουμε το Linux Mint, το rsync ήρθε προεγκατεστημένο. Έτσι, μπορείτε να εκτελέσετε την εντολή rsync στο τερματικό για να δείτε εάν είναι εγκατεστημένη. Θα εξηγήσει τις δυνατότητές του, τις επιλογές του και άλλες ζωτικής σημασίας πληροφορίες εάν υπάρχουν.
nitt ~ $ rsync rsync version 3.2.3 protocol version 31 Copyright (C) 1996-2020 by Andrew Tridgell, Wayne Davison, and others. Web site: https://rsync.samba.org/ Capabilities: 64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints, socketpairs, hardlinks, hardlink-specials, symlinks, IPv6, atimes, batchfiles, inplace, append, ACLs, xattrs, optional protect-args, iconv, symtimes, prealloc, stop-at, no crtimes Optimizations: SIMD, no asm, openssl-crypto Checksum list: xxh128 xxh3 xxh64 (xxhash) md5 md4 none Compress list: zstd lz4 zlibx zlib none rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the GNU General Public Licence for details. rsync is a file transfer program capable of efficient remote update via a fast differencing algorithm.
Ας δούμε τώρα το rsync σε δράση με διαφορετικές περιπτώσεις χρήσης.
Για το σεμινάριο, θα φτιάξουμε δύο καταλόγους.
- κατάλογος πηγής
- κατάλογος προορισμού
Για αυτό, πρέπει να πληκτρολογήσετε τις παρακάτω εντολές.
mkdir source-directory mkdir dest-directory
Επίσης, θα χρειαστεί να δημιουργήσουμε αρχεία για να λειτουργήσει ο συγχρονισμός. Ας δημιουργήσουμε λοιπόν μερικά δοκιμαστικά αρχεία με την παρακάτω εντολή.
touch source-directory/file{1..100}
Αυτό δημιουργεί 100 κενά αρχεία στον κατάλογο προέλευσης. Μπορείτε να το επιβεβαιώσετε εισάγοντας την παρακάτω εντολή.
ls source-directory Output: nitt rsync-tutorial $ ls dest-directory source-directory nitt rsync-tutorial $ touch source-directory/file{1..100} nitt rsync-tutorial $ ls source-directory file1 file18 file27 file36 file45 file54 file63 file72 file81 file90 file10 file19 file28 file37 file46 file55 file64 file73 file82 file91 file100 file2 file29 file38 file47 file56 file65 file74 file83 file92 file11 file20 file3 file39 file48 file57 file66 file75 file84 file93 file12 file21 file30 file4 file49 file58 file67 file76 file85 file94 file13 file22 file31 file40 file5 file59 file68 file77 file86 file95 file14 file23 file32 file41 file50 file6 file69 file78 file87 file96 file15 file24 file33 file42 file51 file60 file7 file79 file88 file97 file16 file25 file34 file43 file52 file61 file70 file8 file89 file98 file17 file26 file35 file44 file53 file62 file71 file80 file9 file99
Σημείωση: Διατηρήσαμε κενό τον κατάλογο dest.
Αντιγράψτε τους καταλόγους τοπικά αναδρομικά
Παρόλο που το rsync στοχεύει κυρίως στην αντιγραφή αρχείων μεταξύ ενός τοπικού και ενός απομακρυσμένου διακομιστή, είναι εξίσου χρήσιμο για την τοπική αντιγραφή αρχείων.
Σε αυτήν την περίπτωση, θα χρησιμοποιήσουμε την ακόλουθη σύνταξη rsync.
επιλογή rsync ΠΗΓΗ ΠΡΟΟΡΙΣΜΟΣ
Αντιγράψτε τα αρχεία στον κατάλογο προέλευσης στον κατάλογο προορισμού εκτελώντας την ακόλουθη εντολή.
rsync -r source-directory/ dest-directory
Εδώ, η εντολή “αναδρομικά” αντιγράφει τα αρχεία από τον κατάλογο προέλευσης στον κατάλογο προορισμού.
nitt rsync-tutorial $ ls dest-directory source-directory nitt rsync-tutorial $ ls dest-directory nitt rsync-tutorial $ ls source-directory file1 file18 file27 file36 file45 file54 file63 file72 file81 file90 file10 file19 file28 file37 file46 file55 file64 file73 file82 file91 file100 file2 file29 file38 file47 file56 file65 file74 file83 file92 file11 file20 file3 file39 file48 file57 file66 file75 file84 file93 file12 file21 file30 file4 file49 file58 file67 file76 file85 file94 file13 file22 file31 file40 file5 file59 file68 file77 file86 file95 file14 file23 file32 file41 file50 file6 file69 file78 file87 file96 file15 file24 file33 file42 file51 file60 file7 file79 file88 file97 file16 file25 file34 file43 file52 file61 file70 file8 file89 file98 file17 file26 file35 file44 file53 file62 file71 file80 file9 file99 nitt rsync-tutorial $ rsync -r source-directory/ dest-directory nitt rsync-tutorial $ ls dest-directory file1 file18 file27 file36 file45 file54 file63 file72 file81 file90 file10 file19 file28 file37 file46 file55 file64 file73 file82 file91 file100 file2 file29 file38 file47 file56 file65 file74 file83 file92 file11 file20 file3 file39 file48 file57 file66 file75 file84 file93 file12 file21 file30 file4 file49 file58 file67 file76 file85 file94 file13 file22 file31 file40 file5 file59 file68 file77 file86 file95 file14 file23 file32 file41 file50 file6 file69 file78 file87 file96 file15 file24 file33 file42 file51 file60 file7 file79 file88 file97 file16 file25 file34 file43 file52 file61 file70 file8 file89 file98 file17 file26 file35 file44 file53 file62 file71 file80 file9 file99
Αυτό αντιγράφει κάθε μεμονωμένο αρχείο στον κατάλογο προέλευσης στον κατάλογο προορισμού.
Αντιγραφή ενός αρχείου τοπικά
Τώρα που μάθαμε πώς να συγχρονίζουμε δύο καταλόγους, θα μάθουμε πώς να αντιγράψουμε ένα μεμονωμένο αρχείο.
Για το σκοπό αυτό, θα επεξεργαστούμε το κενό αρχείο file1 στον κατάλογο προέλευσης και στη συνέχεια θα το συγχρονίσουμε με το ίδιο αρχείο που υπάρχει στον κατάλογο προορισμού.
Για να επεξεργαστείτε ένα αρχείο, πληκτρολογήστε την ακόλουθη εντολή.
nano source-directory/file1
Τώρα αντιγράψτε-επικολλήστε το παρακάτω κείμενο στον επεξεργαστή νανο.
We're updating file1 in the source-directory. Once we update, we'll push the new update to the dest-directory. rsync doesn't need to re-copy the file using the delta-transfer algorithm. This algorithm checks the differences and then updates destination files accordingly. So, once you save file1 in the source-directory, open file1 in the dest-directory. It'll be empty. However, if we check it after running rsync, you'll see that file1 in dest-directory is updated.
Προσθήκη περιεχομένου σε ένα αρχείο
Τώρα, κλείστε και αποθηκεύστε το αρχείο.
Ας αντιγράψουμε τώρα το αρχείο χρησιμοποιώντας το rsync.
sudo rsync -v --existing source-directory/file1 /dest-directory
#Output nitt rsync-tutorial $ sudo rsync -v --existing source-directory/file1 dest-directory file1 sent 557 bytes received 35 bytes 1,184.00 bytes/sec total size is 474 speedup is 0.80 nitt rsync-tutorial $
Όπως ίσως έχετε παρατηρήσει, χρησιμοποιήσαμε την –υπάρχουσα επιλογή. Αυτό ενημερώνει τα υπάρχοντα αρχεία. Εάν εκτελέσετε την εντολή χωρίς –υπάρχουσα, δεν θα ενημερωθεί, παρόλο που εκτελείται με επιτυχία.
Εάν το μεμονωμένο αρχείο που αντιγράφετε δεν υπάρχει στον φάκελο προορισμού, πρέπει να εκτελέσετε την ακόλουθη εντολή.
rsync -v source-directory/newfile dest-directory
#Output nitt rsync-tutorial $ rsync -v source-directory/newfile dest-directory newfile sent 82 bytes received 35 bytes 234.00 bytes/sec total size is 0 speedup is 0.00
Αντιγραφή πολλών αρχείων
Εάν σκοπεύετε να αντιγράψετε πολλά αρχεία, πρέπει να αναφέρετε τις διαδρομές προέλευσης και των δύο αρχείων, ακολουθούμενες από τον κατάλογο προορισμού.
Για το σκοπό αυτό, θα δημιουργήσουμε δύο νέα αρχεία: newfile2 και newfile3, στον κατάλογο προέλευσης. Εκτελέστε την ακόλουθη εντολή για να το κάνετε.
touch source-directory/newfile{2..3}
Τώρα, χρησιμοποιήστε την ακόλουθη εντολή για να συγχρονίσετε πολλά αρχεία.
rsync -v source-directory/newfile2 source-directory/newfile3 dest-directory
#Output nitt rsync-tutorial $ rsync -v source-directory/newfile2 source-directory/newfile3 dest-directory newfile2 newfile3 sent 135 bytes received 54 bytes 378.00 bytes/sec total size is 0 speedup is 0.00 nitt rsync-tutorial $
Αντιγραφή αρχείου ή καταλόγου από τοπικό σε απομακρυσμένο
Η σύνταξη rsync για τοπική σε απομακρυσμένη μεταφορά είναι η παρακάτω.
rsync option SOURCE [email protected]:DEST
Όπως μπορείτε να δείτε, πρέπει να γνωρίζετε τη διεύθυνση IP του απομακρυσμένου μηχανήματος για να λειτουργήσει αυτό. Επίσης, πρέπει να προσθέσετε τη διεύθυνση IP μετά το αρχείο προέλευσης.
rsync -av /Projects/rsync-tutorial/source-directory 192.168.192.200: /Projects/rsync-tutorial/dest-directory
Πριν ξεκινήσει η μεταφορά, θα ζητήσει τον κωδικό πρόσβασης. Εισαγάγετε το για να συνεχίσετε. Επίσης, εάν ο χρήστης είναι διαφορετικός στο απομακρυσμένο μηχάνημα, τότε πρέπει να το αναφέρετε πριν από τη διεύθυνση IP ακολουθούμενη από @.
rsync -av /Projects/rsync-tutorial/source-directory [email protected]: /Projects/rsync-tutorial/dest-directory
Εάν σκοπεύετε να αντιγράψετε πολλά αρχεία ή καταλόγους, τότε πρέπει να καταχωρίσετε τα αρχεία ή τις διαδρομές καταλόγου. Η σύνταξη για αυτό είναι παρακάτω.
rsync -av /Projects/rsync-tutorial/source-directory/newfile1 /Projects/rsync-tutorial/source-directory/newfile2 192.168.192.200: /Projects/rsync-tutorial/dest-directory
Ειδικά πρωτόκολλα απομακρυσμένης μεταφοράς
Το Rsync σάς επιτρέπει να καθορίσετε συγκεκριμένα πρωτόκολλα μεταφοράς αρχείων. Για να το κάνετε αυτό, πρέπει να χρησιμοποιήσετε την επιλογή -e, ακολουθούμενη από το πρωτόκολλο.
Για παράδειγμα, εάν θέλετε να χρησιμοποιήσετε το πρωτόκολλο ssh, πρέπει να προσθέσετε -e ssh στην εντολή rsync.
rsync -e ssh /Projects/rsync-tutorial/source-directory 192.168.192.200: /Projects/rsync-tutorial/dest-directory
Αντιγραφή αρχείου ή καταλόγου από απομακρυσμένο σε τοπικό
Η σύνταξη rsync για τοπική σε απομακρυσμένη μεταφορά είναι η παρακάτω.
sync option [email protected]:SRC DEST
Αυτό λειτουργεί ως αίτημα έλξης. Έτσι, για να λάβετε τα απαιτούμενα αρχεία/κατάλογο από έναν απομακρυσμένο διακομιστή στον τοπικό σας υπολογιστή, πρέπει να εκτελέσετε την ακόλουθη εντολή.
rsync -av 192.168.192.200: /Projects/rsync-tutorial/dest-directory /Projects/rsync-tutorial/source-directory
Η εντολή τραβά τα αρχεία εντός του καταλόγου προορισμού του απομακρυσμένου μηχανήματος στον κατάλογο προέλευσης του τοπικού μηχανήματος.
Ομοίως, μπορείτε να τραβήξετε ένα συγκεκριμένο αρχείο αναφέροντάς το στην πλήρη διαδρομή του.
rsync -av 192.168.192.200: /Projects/rsync-tutorial/dest-directory/newfile4 /Projects/rsync-tutorial/source-directory
Για να αντιγράψετε πολλά αρχεία ή καταλόγους από τοπικό σε απομακρυσμένο, πρέπει να καθορίσετε τη διαδρομή μέσα στις αγκύλες (χωρισμένες με κόμματα) μετά τη διεύθυνση IP του διακομιστή.
rsync -av 192.168.192.200: {/Projects/rsync-tutorial/dest-directory/, /home/music/2023-music} /Projects/rsync-tutorial/source-directory
Ομοίως, μπορείτε να αναφέρετε και αρχεία.
Εμφάνιση ζωντανής προόδου κατά τη μεταφορά
Είναι καλή ιδέα να δείτε ζωντανή πρόοδο για μεγαλύτερα αντίγραφα ασφαλείας δεδομένων. Για αυτό, πρέπει να χρησιμοποιήσετε τη σημαία –πρόοδος. Προσθέστε το στην εντολή rsync και μπορείτε να δείτε την ταχύτητα μεταφοράς, τον χρόνο που απομένει και την ποσότητα των δεδομένων που μεταφέρθηκαν.
rsync -av --progress 192.168.192.200: /Projects/rsync-tutorial/dest-directory /Projects/rsync-tutorial/source-directory
Διαγράψτε τα αρχεία προέλευσης μόλις ολοκληρωθεί η μεταφορά
Μπορείτε να χρησιμοποιήσετε τη σημαία -remove-source-files για να αφαιρέσετε τα αρχεία προέλευσης μετά την πλήρη μεταφορά. Αυτό μπορεί να σας βοηθήσει σε πολλά σενάρια, ειδικά όταν πρόκειται να προστατεύσετε τα αρχεία σας χωρίς να αφήσετε κανένα ίχνος ή απλά να τα χρησιμοποιήσετε για να ελευθερώσετε χώρο.
rsync -av --remove-source-files 192.168.192.200: /Projects/rsync-tutorial/dest-directory /Projects/rsync-tutorial/source-directory
Rsync dry run
Το Rysnc σάς επιτρέπει επίσης να αξιολογείτε πριν κάνετε μια πραγματική εκτέλεση. Το στεγνό τρέξιμο σάς επιτρέπει να δείτε εάν κάνετε το σωστό. Εξάλλου, δεν θέλετε να ενημερώσετε αρχεία κατά λάθος ή ακόμα και να τα διαγράψετε.
Πρέπει να χρησιμοποιήσετε την επιλογή –dry-run για να κάνετε dry run. Προσθέστε το στην εντολή, ακολουθούμενο από την πηγή και τον προορισμό.
sudo rsync -v --dry-run source-directory/file1 dest-directory
nitt rsync-tutorial $ sudo rsync -v --dry-run source-directory/file1 dest-directory file1 sent 43 bytes received 19 bytes 124.00 bytes/sec total size is 474 speedup is 7.65 (DRY RUN) nitt rsync-tutorial
Η έξοδος είναι παρόμοια με τον τρόπο που το τρέχαμε πριν. Ωστόσο, θα παρατηρήσετε μια αναφορά του (DRY RUN) στο τέλος της εξόδου.
Ορίστε το ελάχιστο και το μέγιστο μέγεθος αρχείου
Το Rysnc σάς επιτρέπει επίσης να ορίσετε το ελάχιστο ή μέγιστο μέγεθος αρχείου κατά τη μεταφορά.
Έτσι, εάν θέλετε να κάνετε μεταφορά με ελάχιστο μέγεθος 15KB, πρέπει να χρησιμοποιήσετε –min-size=15K.
rsync -av --min-size=15k 192.168.192.200: /Projects/rsync-tutorial/dest-directory /Projects/rsync-tutorial/source-directory
Η εντολή θα αντιγράψει μόνο αρχεία με ελάχιστο μέγεθος αρχείου 15 KB. Εάν το μέγεθος του αρχείου είναι κάτω, θα το αγνοήσει.
Ομοίως, μπορείτε να χρησιμοποιήσετε τη σημαία –max-size για να ορίσετε το μέγιστο μέγεθος αρχείου.
rsync -av --max-size=450k 192.168.192.200: /Projects/rsync-tutorial/dest-directory /Projects/rsync-tutorial/source-directory
Εδώ, το rsync θα αγνοήσει αρχεία άνω των 450K.
Ορισμός ορίου εύρους ζώνης
Εάν κάνετε άλλες εργασίες που απαιτούν εύρος ζώνης, μπορείτε να ρυθμίσετε το rysnc να ορίζει το όριο εύρους ζώνης για τη μεταφορά. Για να το κάνετε αυτό, χρησιμοποιήστε το –bwlimit=KB/s.
rsync -av --bwlimit=100 --progress 192.168.192.200: /Projects/rsync-tutorial/dest-directory /Projects/rsync-tutorial/source-directory
Εδώ, ορίσαμε το εύρος ζώνης στα 100 Kb/s κατά τη μεταφορά.
Τελικές Λέξεις
Αυτό μας οδηγεί στο τέλος του οδηγού εντολών rsync. Μάθαμε πώς να χρησιμοποιούμε το rysnc και καλύψαμε πολλές εντολές αποτελεσματικά.
Ωστόσο, το rysnc προσφέρει πολύ περισσότερα από αυτά που καλύψαμε. Αυτός είναι ο λόγος για τον οποίο μπορεί να θέλετε επίσης να μεταβείτε στη σελίδα του rsync man, όπου καλύπτεται κάθε πτυχή του rsync.
Στη συνέχεια, ελέγξτε τα φύλλα εξαπάτησης της γραμμής εντολών για Windows, Linux και macOS.