Ένα από τα προβλήματα που απασχολεί αρκετό κόσμο στο ταξίδι του στον ψηφιακό κόσμο είναι η δημιουργία και διατήρηση αντιγράφων ασφαλείας των πολίτιμων αρχείων μας, καθώς και η ενημέρωση των αρχείων αυτών, χωρίς να δημιουργούνται διπλότυπα αρχεία.
Η rsync είναι ένα αρκετά χρήσιμο εργαλείο που μπορεί να μας διευκολύνει σε αυτά τα προβλήματα, μιάς και μπορούμε να δημιουργούμε αντίγραφα ασφαλείας με αυτήν, να συγχρονίζουμε φακέλους και να κάνουμε αντιγραφή αποκλειστικά τα νέα και τα τροποποιημένα αρχεία.
Έτσι λοιπόν, έπειτα από μήνες, το 7ο επεισόδιο της σειράς Ultimate Linux Terminal Tutorial είναι εδώ, αφιερωμένο στην rsync.
Παρακάτω υπάρχουν οι εντολές οπού χρησιμοποιήσα στο βίντεο:
rsync folderA/* folderB /
- Συγχρονίζει το περιεχόμενο του φακέλου folderA με τον φάκελο folderB. Ωστόσο ΔΕΝ συγχρονίζει τους υποφακέλους.
rsync folderA/ Τest
- Δημιουργεί τον φάκελο Test και Συγχρονίζει το περιεχόμενο του φακέλου folderA στον φάκελο αυτό. Ωστόσο ΔΕΝ συγχρονίζει τους υποφακέλους.
rsync –r folderA/ folderB/
- Συγχρονίζει ολόκληρο τον folderA με τον φάκελο folderB. Το r σημαίνει recursive , δηλαδή συγχρονισμός σε όλα τα αρχεία και τους υποφακέλους αυτού του φακέλου.
rsync –r --delete folderA/ folderB/
- Συγχρονίζει ολόκληρο τον φάκελο a με τον φάκελο b. Αν κάποιο αρχείο δεν περιέχεται στον φάκελο folderA, διαγράφεται από τον folderB.
rsync –r –dry-run folderA/ folderB/
- Eμφανίζει τα αρχεία που πρόκειται να συγχρονισθούν από τον φάκελο folderA με τον φάκελο folderB. Δεν γίνεται απολύτως καμία αλλαγή με την χρήση αυτής της εντολής, παρά μόνο ενημερωνόμαστε για το τι πρόκειται να αλλάξει αν εκτελέσουμε την εντολή χωρίς το –dry-run .
rsync –rv folderA/ folderB/
- Συγχρονίζει ολόκληρο τον φάκελο folderA με τον φάκελο folderB. Το v σημαίνει verbose, δηλαδή εμφανίζονται περισσότερες πληροφορίες.
rsync –rvc folderA/ folderB/
- Συγχρονίζει ολόκληρο τον φάκελο folderA με τον φάκελο folderB. Το v σημαίνει verbose, δηλαδή εμφανίζονται περισσότερες πληροφορίες. Το c σημαίνει checksum, δηλαδή ελέγχει αν ένα αρχείο είναι ίδιο με πριν ή έχει τροποποιηθεί, βάση του hash του. Η καλύτερη μέθοδος, ωστόσο εξαιρετικά χρονοβόρα.
rsync –av folderA/ folderB/
- Συγχρονίζει ολόκληρο τον φάκελο folderA με τον φάκελο folderB. Το v σημαίνει verbose, δηλαδή εμφανίζονται περισσότερες πληροφορίες.Το a είναι πολλές παραμέτροι σε μία (περιγράφονται στην επόμενη διαφάνεια) και σε κάθε συγχρονισμό, αντικατεστούνται ή/και αντιγράφονται αποκλειστικά τα νέα αρχεία ή τα αρχεία που τροποποιήθηκαν.
rsync folderA/ username@IP:/home/yourfolder/
: Για backup μέσω ssh
Άλλες χρήσιμες παραμέτροι:
--size-only : Αγνοεί τον συγχρονισμό αρχείων οπού έχουν ίδιο μέγεθος.
--compress ( ή –z) : Συμπιέζει το αρχείο κατά την μεταφορά.
-l : Αντιγράφει τα symlinks ως symlinks
-p : Αντιγράφει και τα permissions στα αρχεία
-t : Αντιγράφει και το modification time.
-g : Groupnames
-o : owner
-D : Αρχεία συστήματος και special αρχεία (απαιτούνται δικαιώματα root)
-a : Είναι τα –rlptgoD σε μία εντολή. Συστήνεται για συγχρονισμό φακέλων