Este es el comando inotify-hookablep que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
inotify-hookable: bloqueo de la interfaz de línea de comandos para inotify
SINOPSIS
Mire un directorio, díganos cuándo cambian las cosas en él:
inotify-hookable --watch-directorios / tmp / watch-this
Mire un árbol de git, algunas configuraciones y un repositorio de activos estáticos, reinicie el servidor web
o comprimir esos activos si algo cambia:
inotificar-enganchable \
--watch-directorios / etc / uwsgi \
--watch-directorios / git_tree / central \
--watch-directorios / etc / app-config \
--watch-directorios / git_tree / static_assets \
--on-modified-path-command "^ (/ etc / uwsgi | / git_tree / central | / etc / app-config) = sudo /etc/init.d/uwsgi restart" \
--on-modified-path-command "^ / git_tree / static_assets = (cd / git_tree / static_assets && compress_static_assets)"
O mira archivos específicos:
inotificar-enganchable \
--watch-files / var / www / cgi-bin / mod_perl_handler \
--on-modified-command "reinicio de apachectl"
DESCRIPCIÓN
Este sencillo programa de línea de comandos es mi reemplazo de la funcionalidad ofrecida por
Filesys de Plack :: Notificar :: Simple. Descubrí que en árboles git muy grandes, Plack gastaría un
cantidad excesiva de observar el sistema de archivos en busca de cambios.
Este programa usa Linux :: Inotify2, por lo que el kernel lo notificará instantáneamente cuando algo
cambios (en realidad es tan rápido que tenemos que solucionar la rapidez con la que nos envía eventos).
El resultado es que puede ejecutar esto, por ejemplo, en una sesión de pantalla y hacer que vea su
entorno de desarrollo, y su servidor web habrá comenzado a reiniciarse antes de que su dedo
deja el ahorrar del botón.
Los archivos temporales vim y emacs se ignoran de forma predeterminada (consulte "--ignore -path") para que pueda
Edite sus archivos sin que su servidor se reinicie innecesariamente.
Actualmente, la interfaz de línea de comandos para esto es la única que realmente tiene sentido,
este módulo está completamente bloqueando (aunque probablemente podría ejecutarse en otro proceso a través de
POE o algo). Los parches son bienvenidos.
CAMPUS
Tenga en cuenta que las opciones booleanas se pueden negar con "--no-OPTION", por ejemplo, "--no-r" o
"--no-recursive" para desactivar la opción "--recursive" que está activada de forma predeterminada.
"-w" or "--watch-directorios"
Especifique esto para ver un directorio, puede dar esto tantas veces como quiera verlo.
muchos directorios.
"-F" or "--watch-files"
Mire un archivo, especifique varias veces para varios archivos. Puede ver archivos y
directorios en el mismo comando.
"-r" or "--recursivo"
Si proporciona esto, cualquier directorio que proporcione se verá de forma recursiva. Esto es por
predeterminado.
"-C" or "--on-modificar-comando"
Un comando que se ejecutará cuando se modifique algo.
"-C" or "--on-modificar-ruta-comando"
Un par clave-valor donde la clave es una expresión regular que se comparará con una ruta modificada, y
el valor es un comando que se ejecutará. Consulte la "SINOPSIS" para ver un ejemplo.
Útil para, por ejemplo, reiniciar un servidor web si modifica el directorio A pero comprimiendo algo
activos estáticos si modifica el directorio B.
"-t" or "--tiempo de amortiguamiento"
Linux le enviará eventos inotify realmente rápido, tan rápido que si ejecuta algo como:
toque la barra de foo
Podrías conseguir un evento para foo en un lote, seguido de un evento para de caramelos mas tarde.
Para lidiar con esto, ingresamos a un bucle cuando comenzamos a recibir eventos y dormimos por un valor predeterminado de
100 microsegundos, mientras sigamos recibiendo eventos, seguiremos durmiendo durante 100 microsegundos,
pero tan pronto como no recibimos nada nuevo, despedimos a nuestros controladores de eventos.
"-YO" or "--ignore-rutas"
Regexes para archivos / directorios para ignorar eventos. De forma predeterminada, esto se establece en expresiones regulares para
archivos temporales vim y emacs, "qr {\ .. * sw. \ z}" y "qr {\. \ # [^ /] + \ z}" respectivamente.
Las expresiones regulares coinciden después de cualquier "/" en la ruta o al comienzo de la cadena.
"-D" or "--depurar"
Expulsa algunos resultados de depuración detallados mientras se ejecuta.
RECONOCIMIENTO
Este módulo fue desarrollado originalmente en y para Booking.com. Con la aprobación de
Booking.com, este módulo fue generalizado y puesto en CPAN, por lo que los autores quisieran
para expresar su gratitud.
Use inotify-hookablep en línea usando los servicios de onworks.net