Puedes tirar de LD_PRELOAD.
Creas una libreria que implemente tu propia funcion write, que lo que haga sea una copia
del fichero que se pasa como parametro a write (en forma de FD).
Tiene la ventaja que valdría para cualqier programa.
Un saludo
On September 26, 2015 6:39:33 PM GMT+02:00, Sergio Costas <rastersoft(a)gmail.com>
wrote:
Hola gente:
Estoy preparando un proyectillo y quiero mejorar su rendimiento. A ver
si alguien sabe si hay algo como lo que busco.
En estos momentos tengo una carpeta, digamos "A". Quiero hacer una
serie
de operaciones en ella, pero no seré yo, sino una serie de programas,
que añadirán, modificarán y borrarán ficheros y carpetas dentro. Pero
como quiero poder revertir todo en caso de que alguna operación salga
mal, antes de nada hago una copia de todo a "A.BACKUP". Al final de
todo, si todo fue bien borro "A.BACKUP", y si hubo algún error, copio
"A.BACKUP" encima de A.
El problema es que la copia inicial es muy lenta, tarda demasiado
tiempo. Por eso quería saber si hay alguna manera de hacerlo en plan
Copy-On-Write. Supongo que la idea sería un sistema de ficheros
virtual,
como AUFS. El problema de este es que, aunque me permite conservar el
contenido de una carpeta, y grabar en otra los cambios, no veo que me
permita mezclar los cambios sobre la carpeta original si, al final,
todo
fue bien.
Empecé a escribir un sistema de archivos para FUSE, pero antes de
seguir
quería saber si ya existe algo así.
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.