Sincronización automática de archivos locales a remotos

6

¿Existen herramientas OSX que puedan observar los cambios de archivos en un directorio y luego sincronizar (SFTP) esos cambios en un servidor remoto?

Básicamente, quiero editar archivos localmente (cualquier archivo, cualquier programa) y hacer que se carguen automáticamente en el servidor.

Rsync no puede ver un directorio en busca de cambios por sí mismo, y parece que no puedo hacer que lyncd se ejecute en osx, debido a que no hay una herramienta de inotificación.

¿Alguna idea?

    
pregunta timoxley 12.08.2011 - 06:32

5 respuestas

2

Solo conozco sistemas propietarios como DropBox.

Pero parece que esto podría hacerse con bastante facilidad, usando kqueue para detectar cambios en los archivos, y ejecutando rsync unos segundos más tarde.

    
respondido por el Abhi Beckert 12.08.2011 - 06:38
2

RE: ".. Básicamente, quiero editar los archivos localmente (cualquier archivo, cualquier programa) y hacer que se carguen automáticamente en el servidor".

Tienes suerte, DoubleDown hará exactamente lo que especificaste:

Descarga directa para DoubleDown aquí .

Página de descarga de DoubleDown con más información aquí .

Más información sobre DoubleDown:

  

Doubledown conserva una copia local completa del directorio remoto en el que está   sincronizando para que todas sus operaciones locales sean muy rápidas. Después de   realiza una sincronización inicial (teniendo cuidado de no obstruir ningún local)   cambios), Doubledown es notificado de los cambios realizados por FSEvents de Mac OS X   marco y responde creando, cargando y eliminando archivos o   directorios según sea necesario.

Espero que esto ayude.

    
respondido por el user1556373 12.08.2011 - 10:35
1

Si está contento de escribir un script, las Acciones de carpeta le permiten lograr lo que necesita:

enlace

La siguiente página parece ofrecer exactamente la solución que está buscando:

enlace

    
respondido por el dan8394 12.08.2011 - 07:07
1

Aquí hay un artículo sobre cómo hacer eso con un script en ruby.

Utiliza FSEvent , la contraparte de inotify en Mac OS X.

    
respondido por el olivier 12.08.2011 - 10:07
1

Use la herramienta de línea de comandos entr para observar los cambios de archivos en un directorio. Tiene la opción especial -d para reaccionar ante eventos cuando se agrega un nuevo archivo a un directorio. La implicación es que si aparece un nuevo archivo, debe salir para permitir que un bucle de shell externo vuelva a escanear el sistema de archivos, por lo que cuando se usa -d , debe usarlo con un bucle. Por ejemplo (para verificar cambios en el directorio path/ ):

$ while true; do
> find path/ | entr -d sh -c 'rsync -vuar path/ example.com:. && echo Updated'
> done

Instalación a través de Brew: brew install entr .

    
respondido por el kenorb 07.07.2016 - 12:13

Lea otras preguntas en las etiquetas