Hay un directorio Acuyos contenidos son cambiados frecuentemente por otras personas.
Hice un directorio personal Bdonde guardo todos los archivos que alguna vez han estado A.
Actualmente, sólo de vez en cuando corro rsyncpara obtener los archivos a ser subidos del Aa B. Sin embargo, temo la posibilidad de que algunos archivos se agreguen Ay luego se eliminen Aantes de que tenga la oportunidad de copiarlos B.
¿Cuál es la mejor manera de evitar que esto ocurra? Idealmente, me gustaría que mi script de respaldo actual se ejecute cada vez que Ase cambie el contenido de .
fuente

incrondTambién puede ser de interés./etc/profilepara todo el sistema o.bash_profilesolo para su usuario. Para ejecutarlo después del arranque, depende de su sabor de Unix / Linux;/etc/rc.local,/etc/rc.d/o/etc/init.d/--monitorconmutador (y canalizar la salida a su bucle en su lugar), de lo contrario, hay una sobrecarga cuandoinotifywaitse inicia una y otra vezEstrictamente hablando, si alguien suelta un archivo y lo elimina muy rápidamente, es posible que se lo pierda. El uso de inotify (en Linux, o una característica similar en otros unices) hace que la ventana de riesgo sea pequeña.
Si puede montar el sistema de archivos de su elección en ese directorio (me doy cuenta de que esto puede no ser una opción), puede poner uno que registre todas las versiones de archivo, por ejemplo, copyfs .
fuente
Pruebe la
entrherramienta de línea de comandos que puede ejecutar comandos arbitrarios cuando cambian los archivos. Desde la versión 2.9,-dse agregó una opción de observación de directorio ( ) para reaccionar a los eventos cuando se agrega un nuevo archivo a un directorio.Ejemplo para ejecutar la utilidad si se agrega un nuevo archivo al proyecto:
La única implicación de esto es que si aparece un nuevo archivo, debe salir para permitir que un bucle de shell externo vuelva a escanear el sistema de archivos.
Aquí está la versión sin una opción de visualización de directorio:
Aquí hay un ejemplo más simple según sus necesidades:
Visite el sitio web entrproject.org para más detalles.
fuente
El programa que estás buscando es
inotify.fuente