Android

Πώς να μεταφέρετε αρχεία με rsync μέσω ssh

Ron Paul on Understanding Power: the Federal Reserve, Finance, Money, and the Economy

Ron Paul on Understanding Power: the Federal Reserve, Finance, Money, and the Economy

Πίνακας περιεχομένων:

Anonim

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

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

Υπάρχουν εξειδικευμένα εργαλεία για τη μεταφορά αρχείων μέσω SSH, όπως το scp και το sftp αλλά κανένα από αυτά δεν διαθέτει όλα τα χαρακτηριστικά που παρέχει το rsync . rsync μπορεί να χρησιμοποιηθεί για την αντιγραφή δεδομένων, την αύξηση των αντιγράφων ασφαλείας, την αντιγραφή αρχείων μεταξύ συστημάτων κ.ο.κ.

Σε αυτό το σεμινάριο, θα εξηγήσουμε τον τρόπο αντιγραφής αρχείων με rsync μέσω SSH.

Απαιτήσεις

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

    Ubuntu και Debian:

    sudo apt install rsync

    CentOS και Fedora:

    sudo yum install rsync

    Πρόσβαση SSH στον απομακρυσμένο υπολογιστή.

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

Χρησιμοποιώντας το rsync για μεταφορά αρχείων μέσω SSH

Με το rsync , μπορείτε να μεταφέρετε αρχεία και καταλόγους μέσω SSH από και προς απομακρυσμένους διακομιστές.

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

Local to Remote: rsync… -e ssh… HOST:DEST Remote to Local: rsync… -e ssh HOST:SRC…

Όταν το SRC είναι ο κατάλογος προέλευσης, ο DEST είναι ο κατάλογος προορισμού USER είναι το απομακρυσμένο όνομα χρήστη SSH και το HOST είναι ο απομακρυσμένος κεντρικός υπολογιστής SSH ή η διεύθυνση IP.

Οι νεότερες εκδόσεις του rsync έχουν ρυθμιστεί ώστε να χρησιμοποιούν SSH ως προεπιλεγμένο απομακρυσμένο κέλυφος ώστε να μπορείτε να παραλείψετε την επιλογή -e ssh .

Για παράδειγμα, για να μεταφέρετε ένα αρχείο /opt/file.zip από το τοπικό σύστημα στον κατάλογο /var/www/ στο απομακρυσμένο σύστημα με IP 12.12.12.12 θα εκτελέσετε:

rsync -a /opt/file.zip [email protected]:/var/www/

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

Εάν το αρχείο υπάρχει στον απομακρυσμένο διακομιστή, θα αντικατασταθεί. Αν θέλετε να αποθηκεύσετε το αρχείο με διαφορετικό όνομα, καθορίστε το νέο όνομα:

rsync -a /opt/file.zip [email protected]:/var/www/file2.zip

Για να μεταφέρετε δεδομένα από απομακρυσμένο σε τοπικό μηχάνημα, χρησιμοποιήστε την απομακρυσμένη τοποθεσία ως πηγή και την τοπική τοποθεσία ως προορισμό:

rsync -a [email protected]:/var/www/file.zip /opt/

Η μεταφορά των καταλόγων με το rsync μέσω SSH είναι ίδια με τη μεταφορά αρχείων.

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

Για παράδειγμα, για να μεταφέρετε τον τοπικό /opt/website/images/ κατάλογο /var/www/images/ σε ένα απομακρυσμένο μηχάνημα, πληκτρολογήστε:

rsync -a /home/linuxize/images/ [email protected]:/var/www/images/

Χρησιμοποιήστε την επιλογή --delete αν θέλετε να συγχρονίσετε τον τοπικό και απομακρυσμένο κατάλογο. Προσέξτε όταν χρησιμοποιείτε αυτή την επιλογή, καθώς θα διαγράψει αρχεία στον κατάλογο προορισμού, αν δεν υπάρχουν στον κατάλογο προέλευσης.

rsync -a --delete /home/linuxize/images/ [email protected]:/var/www/images/

Αν το SSH στον απομακρυσμένο κεντρικό υπολογιστή ακούει σε θύρα διαφορετική από την προεπιλεγμένη 22 , καθορίστε τη θύρα χρησιμοποιώντας την επιλογή -e . Για παράδειγμα, αν η SSH ακούει στη θύρα 3322 θα χρησιμοποιούσατε:

rsync -a -e "ssh -p 3322" /home/linuxize/images/ [email protected]:/var/www/images/

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

rsync -a -P /home/linuxize/images/ [email protected]:/var/www/images/

συμπέρασμα

Σας δείξαμε πώς μπορείτε να χρησιμοποιήσετε το rsync μέσω SSH για να αντιγράψετε και να συγχρονίσετε αρχεία και καταλόγους.

Ενδέχεται επίσης να θέλετε να διαβάσετε τον τρόπο εξαίρεσης αρχείων ή καταλόγων με το rsync .

Μη διστάσετε να αφήσετε ένα σχόλιο εάν έχετε οποιεσδήποτε ερωτήσεις.

rsync τερματικό