Παραδείγματα RSync - Επιλογές Rsync και τρόπος αντιγραφής αρχείων μέσω SSH

Το Rsync σημαίνει «απομακρυσμένο συγχρονισμό». Είναι ένα εργαλείο απομακρυσμένου και τοπικού συγχρονισμού αρχείων που σας βοηθά να μεταφέρετε αποτελεσματικά αρχεία.

Τι είναι το RSync

Το Rsync είναι ταχύτερο από εργαλεία όπως το Secure Copy Protocol (SCP). Χρησιμοποιεί τον αλγόριθμο μεταφοράς δέλτα που ελαχιστοποιεί τη μεταφορά δεδομένων αντιγράφοντας μόνο τις ενότητες ενός αρχείου που έχουν ενημερωθεί.

Μερικά από τα πρόσθετα χαρακτηριστικά του Rsync περιλαμβάνουν:

  • Υποστηρίζει αντιγραφή συνδέσμων, συσκευών, κατόχων, ομάδων και δικαιωμάτων
  • Δεν απαιτεί προνόμια υπερήχων
  • Μεταφορές αρχείων αγωγών για ελαχιστοποίηση του κόστους καθυστέρησης

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

Πώς λειτουργεί το RSync

Τώρα που ξέρετε τι είναι το Rsync, ας δούμε πώς να το δουλέψουμε.

Το Rsync λειτουργεί παρόμοια με άλλα εργαλεία διαχείρισης απομακρυσμένων διακομιστών όπως SSH και SCP.

Εδώ είναι η βασική σύνταξη του Rsync:

rsync [options] source [destination]

Εδώ είναι η σύνταξη για τη μεταφορά ενός αρχείου από το τοπικό σας σύστημα σε έναν απομακρυσμένο διακομιστή. Ονομάζεται επίσης λειτουργία «ώθησης».

rsync local_file_path [email protected]:remote_file_path

Δείτε πώς μπορείτε να μεταφέρετε ένα αρχείο από έναν απομακρυσμένο διακομιστή στο τοπικό σας σύστημα, που ονομάζεται επίσης λειτουργία "pull".

rsync [email protected]:remote_file_path local_file_path
Σημείωση: Όταν εργάζεστε με απομακρυσμένα συστήματα, βεβαιωθείτε ότι έχετε πρόσβαση SSH στο απομακρυσμένο σύστημα. Το Rsync δημιουργεί τη σύνδεση χρησιμοποιώντας SSH για να επιτρέψει τη μεταφορά αρχείων.

Πώς να χρησιμοποιήσετε σημαίες στο RSync

Το Rsync σας επιτρέπει να προσθέσετε επιπλέον επιλογές μέσω σημαιών γραμμής εντολών. Ας δούμε μερικές χρήσιμες σημαίες.

Αναδρομική

Εάν προσθέσετε την επιλογή -r , το RSync θα εκτελέσει μια αναδρομική μεταφορά αρχείων. Αυτό είναι χρήσιμο όταν εργάζεστε με καταλόγους. Εδώ είναι ένα παράδειγμα:

rsync -r [email protected]:remote_directory/ local_directory

Αρχείο

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

Η σημαία αρχειοθέτησης συγχρονίζει επίσης τα αρχεία αναδρομικά, οπότε χρησιμοποιείται περισσότερο από την αναδρομική σημαία. Δείτε πώς το χρησιμοποιείτε:

rsync -a [email protected]:remote_directory/ local_directory

Συμπίεση

Μπορείτε επίσης να συμπιέσετε αρχεία χρησιμοποιώντας τη σημαία -z . Η συμπίεση αρχείων μπορεί να μειώσει τη φόρτωση δικτύου και να επιταχύνει τη μεταφορά αρχείων.

rsync -az [email protected]:remote_directory/ local_directory

Πρόοδος

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

rsync -aP [email protected]:remote_directory/ local_directory

Πολύλογος

Τέλος, η ρητή εντολή μπορεί να σας βοηθήσει να κατανοήσετε κάθε βήμα της μεταφοράς αρχείων. Μπορείτε να χρησιμοποιήσετε τη σημαία -v για αυτό.

rsync -av [email protected]:remote_directory/ local_directory

Μπορείτε επίσης να χρησιμοποιήσετε την εντολή βοήθειας με το RSnsc για να λάβετε μια λίστα με όλες τις επιλογές και τις σημαίες.

rsync --help

συμπέρασμα

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

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

βιβλιογραφικές αναφορές

  • //www.digitalocean.com/community/tutorials/how-to-use-rsync-to-sync-local-and-remote-directories-on-a-vps
  • //linux.die.net/man/1/rsync
  • //www.geeksforgeeks.org/rsync-command-in-linux-with-examples/

Είμαι Manish και γράφω για την ασφάλεια στον κυβερνοχώρο, την τεχνητή νοημοσύνη και το DevOps. Αν σας άρεσε αυτό το άρθρο, μπορείτε να βρείτε το ιστολόγιό μου εδώ.