Συγχρονισμός και backup σε φακέλους με rsync

Ένα από τα προβλήματα που απασχολεί αρκετό κόσμο στο ταξίδι του στον ψηφιακό κόσμο είναι η δημιουργία και διατήρηση αντιγράφων ασφαλείας των πολίτιμων αρχείων μας, καθώς και η ενημέρωση των αρχείων αυτών, χωρίς να δημιουργούνται διπλότυπα αρχεία.
Η 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 σε μία εντολή. Συστήνεται για συγχρονισμό φακέλων
12 «Μου αρέσει»

προσωπικά εγώ με αυτό τα έπαιξα! μπράβο στα devs και ευχαριστούμε για τον οδηγό !!

επίσης να σημειώσω ότι προσωπικά που το back-up μου δεν είναι πάντα να έχω 100% τα ίδια αρχεία σε 2 φακέλους, αλλά να κάνω dump πράματα σε εξωτερικό σκληρό, πριν σβήσω μερικά από το main σύστημά μου, το --delete μου είναι οριακά άχρηστο και χαίρομαι που δεν το κάνει αυτόματα :angel:

1 «Μου αρέσει»

Τώρα, το επεισόδιο σχετικά με του rsync της σειράς Ultimate Linux Terminal Tutorial είναι διαθέσιμο και στο LBRY :slight_smile: :

2 «Μου αρέσει»

@sv1sjp δεν έχω διαβάσει ακόμα τον οδηγό. Θα ήθελα να ρωτήσω αν υπάρχει σύνδεση του rsync με API (ή όπως ονομάζεται γιατί δεν γνωρίζω) άλλων υποδομών ώστε να γίνεται αυτόματα η σύνδεση μέσω κάποιων tokens; Πχ όπως συνδέεται αυτόματα το GitHub με άλλες βάσεις δεδομένων εφαρμογών του διαδικτύου;

1 «Μου αρέσει»

Βλέπω ότι ο ερωτόμενος δεν έχει απαντήσει, ελπίζω να μην παρεξηγηθώ.

Το rsync δεν είναι εργαλείο για να μιλήσει με API. Αν το κάνει δεν το γνωρίζω. Κάνει άριστα τη δουλειά του τοπικά ή με ssh. Για αντιγραφή αρχείων, φακέλλων, συστήματος. Είναι εξαιρετικό εργαλείο, το έχω γράψει στο παρελθόν.

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

4 «Μου αρέσει»