Πώς να χρησιμοποιήσετε το rsync για να αντιγράψετε αρχεία

How Use Rsync Copy Files



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

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







  • Αντιγραφή αρχείου/καταλόγου στο τοπικό σύστημα
  • Αντιγράψτε αρχείο/κατάλογο από το τοπικό στο απομακρυσμένο σύστημα
  • Αντιγράψτε αρχείο/κατάλογο από το απομακρυσμένο σύστημα στο τοπικό

Έχουμε εξηγήσει τις εντολές και τη διαδικασία που αναφέρονται σε αυτό το άρθρο σε ένα Ubuntu 20.04 LTS. Θα χρειαστείτε το τερματικό της γραμμής εντολών για αντιγραφή αρχείων χρησιμοποιώντας το rsync. Για να ανοίξετε τη γραμμή εντολών Τερματική εφαρμογή, χρησιμοποιήστε τη συντόμευση πληκτρολογίου Ctrl+Alt+T.



Εγκατάσταση του Rsync

Το Rsync έρχεται προεγκατεστημένο στο Ubuntu 20.04 LTS. Ωστόσο, εάν αφαιρεθεί κατά λάθος από το σύστημα, μπορείτε να το εγκαταστήσετε ως εξής:



$sudoκατάλληλοςεγκαθιστώrsync

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





–Α: λειτουργία αρχειοθέτησης
–V: εμφανίζει λεπτομέρειες της διαδικασίας αντιγραφής
–P: εμφανίζει τη γραμμή προόδου
–R: αντιγράφει δεδομένα αναδρομικά
–Z: συμπιέζει τα δεδομένα
–Q: καταστολή της εξόδου

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

Η γενική σύνταξη του rsync είναι:



$rsync[επιλογή] [πηγή] [προορισμός]

Αντιγράψτε ένα μόνο αρχείο τοπικά

Εάν θέλετε να αντιγράψετε ένα αρχείο από μια θέση σε άλλη στο σύστημά σας, μπορείτε να το κάνετε πληκτρολογώντας rsync ακολουθούμενο από το όνομα του αρχείου προέλευσης και τον κατάλογο προορισμού.

Για παράδειγμα, για να αντιγράψετε ένα αρχείο file1.txt από την τρέχουσα τοποθεσία που είναι ο κατάλογος Αρχική σελίδα στον κατάλογο ~/Documents, η εντολή θα ήταν:

$rsync/Σπίτι/πιστεύω/file1.txt/Σπίτι/πιστεύω/Εγγραφα

Σημείωση: Αντί /home/tin/file1.txt, μπορούμε επίσης να πληκτρολογήσουμε το αρχείο1 καθώς εργαζόμαστε αυτήν τη στιγμή στον αρχικό κατάλογο. Επίσης, μπορούμε να χρησιμοποιήσουμε ~/Documents αντί να αναφέρουμε την πλήρη διαδρομή ως/home/tin/Documents.

Αντιγράψτε πολλά αρχεία τοπικά

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

Για παράδειγμα, για να αντιγράψετε τα αρχεία file2.txt και file3.txt από τον αρχικό κατάλογο στον κατάλογο ~/Documents, η εντολή θα είναι:

$rsync/Σπίτι/πιστεύω/file2.txt/Σπίτι/πιστεύω/file3.txt/Σπίτι/πιστεύω/Εγγραφα

Για να αντιγράψετε όλα τα αρχεία με την ίδια επέκταση, μπορείτε να χρησιμοποιήσετε το σύμβολο αστερίσκο (*) αντί να καθορίσετε μεμονωμένα τα ονόματα αρχείων. Για παράδειγμα, για να αντιγράψουμε όλα τα αρχεία από τον αρχικό κατάλογο που τελειώνει με επέκταση .zip στον κατάλογο ~/Documents, θα χρησιμοποιήσουμε:

$rsync/Σπίτι/πιστεύω/ *.zip ~/Εγγραφα

Αντιγραφή τοπικών καταλόγων

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

Για παράδειγμα, για να αντιγράψετε το δείγμα καταλόγου σε δοκιμή/ κατάλογο εντός του καταλόγου Home, η εντολή θα ήταν:

$rsync-του /Σπίτι/πιστεύω/δείγμα/Σπίτι/πιστεύω/δοκιμή

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

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

Το Rsync υποστηρίζει σταδιακή μεταφορά, όπως μπορείτε να δείτε στην παραπάνω έξοδο ότι μεταφέρει μόνο τα αρχεία που είναι νέα ή ενημερωμένα.

Αντιγράψτε αρχεία με βάση το μέγιστο μέγεθος

Κατά την αντιγραφή, μπορούμε επίσης να καθορίσουμε το μέγιστο μέγεθος αρχείων που μπορούν να αντιγραφούν με την επιλογή –max-size. Για παράδειγμα, για να αντιγράψετε αρχεία που δεν υπερβαίνουν τα 2000k από τον κατάλογο ~/Downloads στον κατάλογο ~/Documents, η εντολή θα είναι:

$rsync-προς το -μέγιστο μέγεθος= 2000κ/Σπίτι/πιστεύω/Λήψεις/ * /Σπίτι/πιστεύω/Εγγραφα

Αυτή η εντολή θα αντιγράψει όλα τα αρχεία από τον κατάλογο Download/Downloads στον ~/Documents εκτός από αυτά που είναι μεγαλύτερα από 2000k.

Αντιγράψτε αρχεία με βάση το ελάχιστο μέγεθος

Ομοίως, μπορούμε επίσης να καθορίσουμε το ελάχιστο μέγεθος αρχείων που μπορούν να αντιγραφούν με την επιλογή –min-size. Για παράδειγμα, για να αντιγράψετε αρχεία τουλάχιστον 5M από τον κατάλογο ~/Downloads στον κατάλογο ~/Documents, η εντολή θα είναι:

$rsync-προς το -ελάχιστο μέγεθος= 5 εκατ/Σπίτι/πιστεύω/Λήψεις/ /Σπίτι/πιστεύω/Εγγραφα

Αυτή η εντολή θα αντιγράψει όλα τα αρχεία από το ~/Λήψεις στον κατάλογο ~/Έγγραφα εκτός από αυτά που είναι μικρότερα από 5Μ.

Εξαίρεση αρχείων

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

Για παράδειγμα, για να εξαιρέσετε όλα τα αρχεία .zip κατά την αντιγραφή αρχείων από τον κατάλογο ~/Downloads στον ~/Documents, η εντολή θα είναι:

$rsync-προς το --αποκλείω='*.φερμουάρ' /Σπίτι/πιστεύω/Λήψεις/ /Σπίτι/πιστεύω/Εγγραφα

Αντιγράψτε αρχεία και καταλόγους από απόσταση

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

  • Το Rsync είναι εγκατεστημένο τόσο σε τοπικό όσο και σε απομακρυσμένο σύστημα
  • Πρόσβαση SSH στο απομακρυσμένο σύστημα
  • Απομακρυσμένος κωδικός πρόσβασης χρήστη

Πριν από την αντιγραφή αρχείων χρησιμοποιώντας το rsync, βεβαιωθείτε ότι έχετε πρόσβαση στο απομακρυσμένο σύστημα μέσω SSH:

$sshremote_user@remote_ip


Η γενική σύνταξη για την αντιγραφή αρχείων και καταλόγων σε απομακρυσμένο σύστημα χρησιμοποιώντας το rsync:

$rsync[επιλογή] [πηγή] [τηλεχειριστήριο@remoteip: προορισμός]

Για παράδειγμα, για να αντιγράψετε ένα μόνο αρχείο file.txt από ~/Downloads στον κατάλογο απομακρυσμένου συστήματος ~/Documents, η εντολή θα ήταν:

$rsync-v~/Λήψεις/file1.txt umara@192.168.72.164:~/Εγγραφα

Ομοίως, για να αντιγράψετε τον κατάλογο ~/Λήψεις/αρχεία σε ένα τοπικό σύστημα με τον υπο-κατάλογο και όλο το περιεχόμενο στον κατάλογο ~/Λήψεις/δείγματα στο απομακρυσμένο σύστημα:

$rsync-rv~/Λήψεις/αρχεία umra@192.168.72.164:~/Λήψεις/δείγματα

Μπορείτε επίσης να αντιγράψετε τα αρχεία και τους καταλόγους από το απομακρυσμένο μηχάνημα στο τοπικό σας μηχάνημα. Για παράδειγμα, για να αντιγράψετε ένα αρχείο2.txt από το απομακρυσμένο σύστημα στην τοπική επιφάνεια εργασίας του συστήματος:

$rsync-vουμάρα@192.168.72.164:~/Λήψεις/file2.txt/Επιφάνεια εργασίας/

Ομοίως, για να αντιγράψετε έναν κατάλογο από το απομακρυσμένο σύστημα στο τοπικό σύστημα

$rsync-rvουμάρα@192.168.72.164:~/Λήψεις/δείγμα/Επιφάνεια εργασίας/δοκιμή

Μπορείτε επίσης να χρησιμοποιήσετε όλες τις επιλογές όπως –max-size, –min-size, –exclude και άλλες ενώ αντιγράφετε αρχεία προς/από το απομακρυσμένο σύστημα.

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