1 votos

¿Herramienta que vigila los archivos/carpetas y los carga al cambiarlos en OS X?

Estoy buscando una herramienta SFTP o rsync (?) (o script?) que vigile una determinada carpeta o determinados archivos y los suba a un servidor remoto de forma segura al cambiar.

Los antecedentes:

He estado usando Sublime SFTP para eso, funciona bastante bien, pero a veces se "olvida" de sus tareas de vigilancia. Además, estoy dando una oportunidad a Atom como editor alternativo y no hay ninguna herramienta que esté a la altura de Sublime SFTP al 100%.

La mayoría de las herramientas SFTP basadas en el editor sólo suben los archivos al guardarlos, pero eso no cubre los archivos construidos con gulp o CodeKit.

Hemos estado añadiendo gulp-sftp a nuestros build scripts, pero eso también tiene inconvenientes.

Así que lo que me he estado preguntando: ¿no hay una aplicación independiente que simplemente pueda vigilar los archivos o carpetas para los cambios y subirlos a través de SFTP, rsync o scp?

1 votos

Mira las acciones de las carpetas - estas lanzarán un script cuando un cambio de carpeta

0 votos

0 votos

0voto

Urs Puntos 111

He encontrado https://github.com/DmitryKoterov/dklab_realsync/tree/master - la configuración es fácil (con un archivo de configuración para cada sitio y un asistente para crearlo) es multiplataforma, admite el inicio de sesión sin contraseña - ¡genial!

Solo hay que tener cuidado al definir lo que se va a sincronizar o no si tu instancia local no es 100% igual a la del servidor - ¡realysnc los hará iguales!

0voto

Shimon Doodkin Puntos 101

Prueba con cron . Es una herramienta que ejecuta comandos en un momento o intervalo específico. Puede que no sea exactamente lo que buscas (clonar en la construcción) pero funciona bastante bien.

Para configurar cron: desde el Terminal, escriba crontab -e .

Esto debería hacer aparecer un editor de texto (dependiendo del editor de texto que hayas establecido como predeterminado) y un bonito encabezado explicando lo que hace cada campo.

minute, hour: does as it says
dom: day of month
mon: month
dow: day of week

Ahora, echaremos un vistazo a su comando para hacer copias de seguridad periódicas. Una gran herramienta para las copias de seguridad es rsync. Tendrás que configurar las claves SSH para que funcione sin que te pida la contraseña.

Este es el comando que utilizo:

rsync -vzhaPE --delete-after /path/to/local/file ip.address.of.server:/path/to/backup/location

Opciones utilizadas: -vzhaPE

v: verbose
z: compress (good for slow connections. Adjust compression level with --compress-level=<1-9>)
h: human readable numbers
a: archive mode. This preserves timestamps and practically clones everything over as it were.
P: progress bar.
E: keep partial files. This means that if the connection was interrupted, rsync will pick up on the partial files and continue where it left off. Good for copying multiple large files over a slow network.
delete-after: deletes files from the server that have been deleting from the sending side

Las opciones v, h y P son más bien para la depuración humana, por lo que no las introduciremos en nuestro trabajo cron.

Así que, para armarlo en cron: (ejecutar cada diez minutos, por ejemplo)

*/10 * * * * rsync -zaE --delete-after /path/to/local/file ip.address.of.server:/path/to/backup/location

Este comando respaldará los archivos que se encuentren en el directorio especificado al directorio especificado del servidor cada diez minutos . No se crearán duplicados ya que rsync borrará los archivos que copie.

Además, si lo desea, también puede ejecutar un script que mueva la copia de seguridad copiada a otra carpeta si está interesado en una funcionalidad de versionado similar a la de Time Machine. Sin embargo, necesitarás suficiente espacio de almacenamiento y algunos ajustes menores en el comando de copia de seguridad (rsync push a rsync pull). Si esto es lo que estás buscando, házmelo saber y lo ampliaré.

0 votos

Downvoter, ¿por qué el downvote?

1 votos

No soy de los que votan a la baja, pero busco una herramienta que vigile constantemente los cambios, no en intervalos. Si construyes algo de css o js a través de gulp, quieres que se mueva a tu entorno de pruebas inmediatamente. Incluso si fuera posible ejecutar el cron cada segundo, podría ser demasiado intensivo en recursos, ¿no?

0 votos

Ah, ya veo. Entonces me he equivocado en ese sentido. Técnicamente, una herramienta que vigila constantemente los cambios probablemente también esté ejecutando unas cuantas líneas de código cada milisegundo o así, pero probablemente esté más optimizada para ese tipo de propósito.

0voto

Urs Puntos 111

https://atom.io/packages/remote-sync tiene un observador fiable y es menos "arriesgado" de usar que remote_sync de mi otra respuesta. Está bien para sincronizar archivos .css y .js solamente.

Aunque no funciona completamente sin contraseña, lo uso con FTPS en lugar de SFTP

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X