Πιο αποδοτική χρήση του rsync

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

Ένα τυπικό παράδειγμα θα ήταν:

rsync -varh /katalogos_arxikos /katalogos_proorismos

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

Το πρόβλημα είναι όταν έχουμε μεγάλα συμπιεσμένα αρχεία, προϊόντα κάποιου backup, που το πιο πιθανό μέσα τους να έχουν μικρές αλλαγές το rsync θα εντοπίζει αλλαγμένο αρχείο οπότε θα το φέρνει πάλι από την αρχή. Για αυτή την περίπτωση πρέπει να φτιάχνουμε τα συμπιεσμένα αρχεία μας με τον παρακάτω τρόπο.

GZIP='--rsyncable' tar cvzf simpiesmeno_arxeio.tar.gz katalogo_pou_kanoume_backup/

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