Πόσες φορές έχουμε όλοι βρεθεί στο σημείο να έχουμε διαγράψει κάποιο αρχείο χωρίς να έχουμε κρατήσει κάποιο αντίγραφο; Ή ακόμα και να έχουν γίνει αρκετές αλλαγές από το χρονικό σημείο που κρατήσαμε κάποιο αντίγραφο;
Η προφανής λύση θα είναι να κάνουμε χρήση ενός COW (Copy On Write) File System ώστε να μην χάνουμε απολύτως τπτ. Φυσικά τέτοιες λύσεις συνήθως είναι και αρκετά ακριβές.
Για να καλύψω τις δικές μου ανάγκες κάνω χρήση του rsnapshot και μάλιστα μπορώ έχοντας ένα ssh σε κάποιο άλλο μηχάνημα να έχω και off line backup. Αλλά και πάλι δεν είναι μία 100% bullet proof λύση.
Στο παράδειγμα της ανάπτυξης ενός προγράμματος η προφανής λύση είναι κάποιο versioning control system (π.χ. mercurial).
Αναζητώντας μία πιο αξιόπιστη λύση για snapshots (μέχρι το B-tree FS να γίνει stable) παλαιότερα είχα δει το ext3cow. Το οποίο είναι ένα από τα πιο ενδιαφέροντα project που έχω δει. Η βασική του λειτουργία απλή, ένα cow σύστημα σε ext3. Versioning COW File System.
Πριν από μερικούς μήνες εντόπισα και το NILFS. Το οποίο είναι ένα Log-Structured File System το οποίο υποστηρίζει snapshots. Μου φάνηκε αρκετά πιο εύκολο στην εγκατάσταση αλλά και πιο straight forward από το ext3cow.
Κατέγραψα τις προσπάθειες μου στην παρακάτω σελίδα και πιστεύω ότι αξίζει κάποιος να το δοκιμάζει:
http://balaskas.gr/wiki/nilfs
Δείτε πως γίνεται η εγκατάσταση και τυπικά παραδείγματα λειτουργίας.