Οδηγός 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.
  Πώς μπορώ να ελέγξω ποια είναι η διεύθυνση IP μου στο διαδίκτυο;

Συμπερασματικά, το 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.

  Πώς να επιβάλετε τη "Σκοτεινή λειτουργία" σε οποιαδήποτε εφαρμογή iPhone με Smart Invert

Αντιγράψτε τους καταλόγους τοπικά αναδρομικά

Παρόλο που το 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, ακολουθούμενη από το πρωτόκολλο.

  8 τρόποι για να διορθώσετε το πρόβλημα "Αυτό το βίντεο δεν είναι διαθέσιμο αυτήν τη στιγμή" στο Prime Video

Για παράδειγμα, εάν θέλετε να χρησιμοποιήσετε το πρωτόκολλο 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.