Nov 4, 2007

Λήψη αντιγράφων ασφαλείας (back-up) με τη βοήθεια του Linux

Η λήψη εφεδρικών αντιγράφων αποτελεί απαραίτητη καθημερινή μέριμνα. Πέρα όμως από τα αρχεία που επεξεργαζόμαστε σε συχνή βάση και τροποποιούμε, στο περιβάλλον εργασίας μας χρησιμοποιούμε προγράμματα τα οποία αποθηκεύουν δεδομένα (π.χ. Oracle) ή που η εγκατάστασή τους, αν αυτό ζητηθεί ξανά, απαιτεί μεγάλο χρόνο. Ένα πλήρες αντίγραφο του υπολογιστή μας είναι απίστευτα χρήσιμο ώστε να μας εξοικονομήσει χρόνο, κόπο και χρήμα σε περιπτώσεις αστοχίας του υλικού, ανθρώπινου σφάλματος ή μόλυνσης από ιούς ή άλλα κακόβουλα προγράμματα. Το τελευταίο, νομίζω πως αποτελεί μόνιμη ανησυχία, ιδίως των χρηστών Windows, που ελπίζω να βρουν ενδιαφέρον αυτό το άρθρο.

Για τις ανάγκες λήψης ενός πλήρους εφεδρικού αντιγράφου ασφαλείας, θα πρέπει να έχουμε στη διάθεσή μας ένα σκληρό δίσκο (π.χ. εξωτερικό) με μεγάλη χωρητικότητα για την αποθήκευσή όλων των δεδομένων μας. Επιπλέον, μια έκδοση του Linux, που μπορεί να κάνει boot από CD ή από ένα απλό USB key. Αυτές οι ειδικές εκδόσεις του Linux δεν επηρεάζουν το σύστημα στο οποίο δουλεύουμε αλλά προορίζονται για δοκιμαστική χρήση. Μια λίστα με τα Linux Live CDs θα βρείτε εδώ: http://www.livecdlist.com/?pick=All&showonly=desktop. Εγώ προτίμησα τη δεύτερη λύση, γεγονός που προϋποθέτει πώς το σύστημα μπορεί να ξεκινήσει από ένα δίσκο usb. Κατέβασα λοιπόν, μια έκδοση του Linux που χωράει σε ένα USB των 512ΜΒ και ονομάζεται Pendrive Linux (http://www.pendrivelinux.com/) Σε αυτό το site, θα βρείτε μια αναλυτική περιγραφή για το πως θα αντιγράψετε τη μίνι έκδοση του Linux σε ένα USB key, ανάλογα με τα περιβάλλον (Linux ή Windows) που χρησιμοποιείτε. Ανεξάρτητα πάντως αν χρησιμοποιήσει κάποιος CD ή USB, τα επόμενα βήματα παραμένουν ίδια.

Κάνουμε λοιπόν boot, και αντικρίζουμε την πρώτη οθόνη του Pendrive.

Το Pendrive έχει αναγνωρίσει απευθείας όλους τους σκληρούς δίσκους και τα partitions (Linux ή Windows) που περιέχονται σε αυτούς και τα έχει προσθέσει ως icons στην επιφάνεια εργασίας. Προκειμένου να δούμε τα χαρακτηριστικά των δίσκων μας χρησιμοποιούμε την εντολή (από ένα Terminal Window ως χρήστης root):

fdisk -l

Το πιο πιθανό είναι πως ο κύριος σκληρός δίσκος του υπολογιστή μας βρίσκεται στην συσκευή /dev/hda (οι συσκευές /dev/hda1, /dev/hda2 υπονοούν partitions του ίδιου δίσκου). Με αυτήν την εντολή επίσης βλέπουμε που βρίσκονται και οι υπόλοιποι δίσκοι, όπως αυτός που θα φιλοξενήσει το backup. Η μαγική εντολή, που αντιγράφει block by block τον δίσκο μας είναι η dd με την σύνταξη:

dd if=input_file of=output_file

Η απαραίτητη διευκρίνηση σε αυτό το σημείο είναι πως στο Linux, ακόμα και οι συσκευές είναι αρχεία, τα οποία μπορούν να διαβαστούν. Οπότε είναι απόλυτα σωστό να γράψουμε ως if (input file) το /dev/hda. Αντίστοιχα, ως output file θα ορίσουμε ένα αρχείο στον δίσκο προορισμού, π.χ.

dd if=/dev/hda of=/media/BCK/full_backup

Με αυτόν τον τρόπο θα δημιουργηθεί ένα νέο αρχείο με το όνομα full_backup στον δίσκο προορισμού. Σε περίπτωση που έχουμε προβλήματα χώρου, μπορούμε να συμπιέσουμε το αρχείο προορισμού ως εξής:

dd if=/dev/hda|gzip > /media/BCK/full_backup.gz

Αντίστοιχα, σε περίπτωση που θέλουμε να κάνουμε restore το backup μας, αρκεί να κάνουμε ξανά boot σε Linux (με το USB key ή με CD) και να γράψουμε:

dd if=/media/BCK/full_backup of=/dev/hda

No comments: