rsync και Mac OSX backup
Μέχρι στιγμής δεν είχα κάποια στρατηγική σχετικά με το backup των “σημαντικών” μου δεδομένων. Βρίσκονται όλα στο δίσκο του macbook και σε περίπτωση που πάθει κάτι, όλη μου η μουσική συλλογή, οι φωτογραφίες , κείμενα πάνε και δεν γυρίζουν πίσω.
Πήρα λοιπόν ένα εξωτερικό usb δίσκο χωρητικότητας 1TB, μορφοποιημένος HFS+ αποκλειστικά για σκοπούς backup.
Αποφάσισα, χωρίς αρκετό ψάξιμο, να δοκιμάσω το Time Machine. Ανάλογα με τις ανάγκες κάποιου, το Time Machine μπορεί να είναι πολύ καλό πρόγραμμα. Κάνει backup ολόκληρο το σκληρό του Mac ανά ώρα.
Εμένα όμως με ενδιαφέρει να κάνω backup 5 directories που έχουν μόνο δεδομένα και όχι ολόκληρο το δίσκο μου. System files και apps δεν με ενδιαφέρουν αφού αν κάτι πάει στραβά με το δίσκο θα προτιμήσω μια φρέσκια εγκατάσταση λειτουργικού και αφού σπαταλήσω δυο με τρεις ώρες στο internet θα βρω και θα εγκαταστήσω τα προγράμματα που θέλω.
Υπάρχει φυσικά και η επιλογή του exclude directories αλλά δεν ασχολήθηκα καν, αν και πιστεύω θα ήταν καλύτερα να μπορούσες να επιλέξεις τι θα ήθελες να κάνεις backup και όχι το τι δεν θέλεις.
Τελικά κατέληξα σε ένα πολύ αγαπημένο εργαλείο από Unix, το rsync. Απλή και αποτελεσματική εντολή που ποτέ δεν με απογοήτευσε, μου δίνει περισσότερο έλεγχο στο τι θέλω να κάνω. Η βασική εντολή έχει ως εξής:
rsync –av ~/Documents/Music /Volumes/Backup/Music
Η παράμετρος –a (archive) είναι και η πιο σημαντική αφού κρατά τα ownerships και metadata του source, timestamps και πραγματοποιεί recursive αντιγραφή. Για περισσότερες παραμέτρους και πληροφορίες ρίξτε μια ματιά στο man page.
Το backup μου συμπεριλαμβάνει τι μουσική, τις φωτογραφίες, τα documents και το αρχείο του keychain. Έφτιαξα λοιπόν ένα script και το τρέχω κάθε φορά που χρειάζομαι να κάνω backup.
#!/bin/bash
# regular backup of music,photos,documents and keychain
CURDATE=`date '+%b_%d_%Y'`
echo "...start backing up music"
rsync -avi --progress --delete ~/Music/Albums/ /Volumes/backup/Music
echo "Music backup is DONE!"
echo "...start backing up pictures"
rsync -avi --progress --delete ~/Pictures/Photos /Volumes/backup/
echo "Photos backup is DONE!"
echo "...start backing up documents"
rsync -avi --progress --delete ~/Documents /Volumes/backup/
echo "Documents backup is DONE!"
echo "...start backing up Keychain"
rsync -av --progress ~/Library/Keychains/ /Volumes/backup/Keychains/Keychain_${CURDATE}
echo "Keychain backup is DONE!"
exit 0
Μπορείτε να αλλάξετε το script ανάλογα με τις ανάγκες σας . Με ένα cron job σχεδιάζετε και το πότε θέλετε να ξεκινάει το backup και σε περίπτωση που θέλετε να είστε 200% σίγουροι πως όλα καλά με το rsync τρέχετε την εντολή diff –rq ~/Documents/Music /Volumes/Backup/Music για να συγκρίνετε τα αρχεία ένα προς ένα.
Σε αυτούς που δεν αρέσει το command line αλλά θέλουν να δουλέψουν με το rsync υπάρχει το arRsync, μια GUI έκδοση με αρκετές επιλογές και πολύ απλή χρήση.
