Πώς να χρησιμοποιήσετε το 'rsync' για την αντιγραφή φακέλων και αρχείων στο Linux

Τι να ξέρετε

  • Αντιγραφή με βάση τον τύπο αρχείου: rsync /home/jon/Desktop/data/*.jpg /home/jon/Desktop/backupdata/
  • Αντιγραφή με βάση το μέγεθος αρχείου: rsync --max-size=2k /home/jon/Desktop/data/ /home/jon/Desktop/backupdata/
  • Αντιγραφή ολόκληρων φακέλων: rsync --recursive /home/jon/Desktop/data /home/jon/Desktop/data2

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

Σύνταξη εντολών

Χρησιμοποιώντας το rsync Η εντολή σωστά απαιτεί να ακολουθήσετε το σωστό σύνταξη:

συγχρονισμός [ΕΠΙΛΟΓΗ]... [SRC]... [DEST]
συγχρονισμός [ΕΠΙΛΟΓΗ]... [SRC]... [USER@]HOST: DEST
συγχρονισμός [ΕΠΙΛΟΓΗ]... [SRC]... [USER@]HOST:: DEST
συγχρονισμός [ΕΠΙΛΟΓΗ]... [SRC]... rsync://[USER@]HOST[:PORT]/DEST
συγχρονισμός [ΕΠΙΛΟΓΗ]... [USER@]HOST: SRC [DEST]
συγχρονισμός [ΕΠΙΛΟΓΗ]... [USER@]HOST:: SRC [DEST]
συγχρονισμός [ΕΠΙΛΟΓΗ]... rsync://[USER@]HOST[:PORT]/SRC [DEST]

Μερικοί διακόπτες επιλογής που χρησιμοποιούνται συνήθως περιλαμβάνουν:

  • -v, --πολύλογος: Αυξήστε τη λεκτικότητα (παρέχει περισσότερες λεπτομέρειες σχετικά με το τι κάνει η εντολή).
    • --πληροφορίες=ΣΗΜΑΙΑ: Παρέχει λεπτομερή ενημερωτικά μηνύματα.
    • --debug=ΣΗΜΑΙΑ: Παρέχει λεπτομερή μηνύματα εντοπισμού σφαλμάτων.
    • --msgs2stderr: Ειδικός χειρισμός εξόδου για εντοπισμό σφαλμάτων.
  • -q, --ησυχια: Αποκρύπτει μηνύματα χωρίς σφάλματα.
    • --no-motd: Καταστέλλει το μήνυμα της ημέρας σε λειτουργία δαίμονα.
  • -ντο, --επιταγή: Παραλείπει αρχεία με βάση άθροισμα ελέγχου, όχι mod-time και μέγεθος.
  •  -r, --αναδρομικό: Περιηγηθείτε σε υποκαταλόγους για πρόσθετα αρχεία.
  • -σι, --αντιγράφων ασφαλείας: Δημιουργήστε αντίγραφα ασφαλείας.
    • --backup-dir=ΔΙΕΥΘ: Δημιουργήστε αντίγραφα ασφαλείας σε μια αντίστοιχη ιεραρχία καταλόγου.
    • --κατάληξη=ΚΑΤΑΛΗΞΗ: Προσθέτει κείμενο επίθημα στο τέλος των αρχείων που δημιουργούνται αντίγραφα ασφαλείας.
  • -ρε, --σκηνοθεσία: Μεταφέρετε μόνο καταλόγους χωρίς περιήγηση στο εσωτερικό τους.

Παραδείγματα εντολών

Χρήση rsync με ορισμένες από αυτές τις επιλογές για να βελτιώσετε τη στρατηγική σας για τη δημιουργία αντιγράφων ασφαλείας.

Επιλεκτική αντιγραφή με βάση τον τύπο αρχείου

rsync /home/jon/Desktop/data/*.jpg /home/jon/Desktop/backupdata/

Σε αυτό το παράδειγμα, όλα τα JPG αρχεία από το /data/ αντιγραφή φακέλου στο /backupdata/ φάκελο στο χρήστη Jon's Επιφάνεια εργασίας ντοσιέ.

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

rsync --max-size=2k /home/jon/Desktop/data/ /home/jon/Desktop/backupdata/

Αυτό rsync Το παράδειγμα είναι λίγο πιο περίπλοκο αφού έχει ρυθμιστεί δεν αντιγράψτε αρχεία εάν είναι μεγαλύτερα από 2.048 KB. Αντιγράφει μόνο αρχεία μικρότερα από το καθορισμένο μέγεθος.

Χρήση k, m, ή σολ για να υποδείξετε kilobyte, megabyte και gigabyte στον πολλαπλασιαστή 1.024 ή kb, mb, ή γιγαμπάιτ να χρησιμοποιήσετε 1.000.

rsync --min-size=30mb /home/jon/Desktop/data/ /home/jon/Desktop/backupdata/

Το ίδιο μπορεί να γίνει και για --ελάχιστο μέγεθος, πολύ. Σε αυτό το παράδειγμα, το rsync αντιγράφει μόνο αρχεία που είναι 30 MB ή μεγαλύτερα.

rsync --min-size=30mb --progress /home/jon/Desktop/data/ /home/jon/Desktop/backupdata/

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

Αντιγραφή ολόκληρων φακέλων

rsync --recursive /home/jon/Desktop/data /home/jon/Desktop/data2

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

Αυτή η εντολή αντιγράφει ολόκληρο τον φάκελο και όλα τα περιεχόμενά του στη νέα θέση.

Εξαίρεση ορισμένων αρχείων

rsync -r --exclude="*.deb" /home/jon/Desktop/data /home/jon/Desktop/backupdata

Αντιγράψτε έναν ολόκληρο φάκελο αλλά εξαιρέστε αρχεία ενός συγκεκριμένου επέκταση αρχείου, όπως DEB αρχεία, σε αυτό το παραπάνω παράδειγμα. ΟΛΟΚΛΗΡΟ /data/ ο φάκελος αντιγράφεται σε /backupdata/ όπως στο προηγούμενο παράδειγμα, αλλά όλα τα αρχεία DEB εξαιρούνται από το αντίγραφο.