Hace unos años, Apple presentó Time Machine, un programa de copia de seguridad que, por fin, hacía no sólo sencillo, sino también divertido, hacer backups regulares de tus datos.
Pronto surgieron varios clones para Linux, tales como Flyback, Time Vault, o el cómodo Dejá Dup, pero ninguno me convencía, así que decidí hacer yo uno propio. Y ya puestos, decidí hacerlo lo más parecido posible al Time Machine original.
El resultado es Cronopete, un clon de Time Machine para Linux. El nombre lo tomé de El anacronópete, una novela de viajes en el tiempo escrita por Enrique Gaspar y Rimbaud ocho años antes de la célebre La máquina del tiempo, de H.G. Wells.
Al igual que el programa original, Cronopete hace una copia completa del disco cada hora, y conserva todas las copias que pueda para poder volver atrás si es necesario y recuperar un documento en cualquier momento de su historia.
Cada copia del árbol de directorios se conserva en una carpeta propia, cuyo nombre es la fecha y hora en que se realizó. También, al igual que el original, copia realmente sólo los archivos que han cambiado, y se limita a hacer un enlace a la copia anterior para aquellos archivos que no han cambiado, lo que permite acelerar el proceso y consumir muchísimo menos disco.
También para ahorrar espacio, las copias se guardan en una progresión exponencial: para las últimas 24 horas se guarda una por cada hora; para el último mes, una copia diaria; y después, una copia semanal hasta que se llena el disco.
También he copiado al milímetro la interfaz. Al lanzar Cronopete, éste aparece de esta manera en la barra de notificaciones, exactamente igual que Time Machine:
Y esta es la interfaz principal:
Todavía no tiene la interfaz para restaurar los ficheros de manera «bonita», por lo que para hacerlo hay que ir al disco externo y copiarlos «a mano», aunque dado que los archivos están guardados «tal cual», sin ningún tipo de empaquetado ni compresión, esto no supone ninguna dificultad. Sin embargo, ya estoy investigando la biblioteca clutter para implementarla también.
Las primeras pruebas de Cronopete las había escrito en C, con la intención de usar Python para la interfaz, pero no lo acababa de ver porque necesitaba mucha fiabilidad para un programa de este tipo, así que al final decidí probar Vala. Y, como comenté en su momento, me enamoré: la gestión automática de memoria como en Python es una delicia, y encima tengo el rendimiento y el bajo consumo de recursos de C, además de azúcar sintáctico como para abastecer una pastelería durante un año.
Enlace directo a la página de descargas: Cronopete.
Backup con manzana a las finas unidades externas por A cuadros está licenciado bajo una Licencia Creative Commons Atribución-CompartirIgual 4.0 Internacional.
I like to use Back In Time[1]. Works with rsync and cron. As normal user and root.
You can use rsync raw too[2]
Back In Time is perfect to desktop but it lacks a CLI or web management tool, for servers without X, like Bacula.
1. http://backintime.le-web.org/
2. https://www.ibm.com/developerworks/mydeveloperworks/blogs/752a690f-8e93-4948-b7a3-c060117e8665/entry/snapshots_cow_para_os_menos_favorecidos_cron_rsync_e_hardlinks22?lang=es
Back In Time is a good tool, but I wanted to do a full clone of Time Machine. Currently I’m working on an interface with clutter to do the restoring part exactly like the one in Apple’s tool.
I think you can try it as a Nautilus Extension.