InglésFrancésEspañol

Ejecutar servidores | Ubuntu > | Fedora > |


icono de página de OnWorks

inotifywait - Online en la nube

Ejecute inotifywait en el proveedor de alojamiento gratuito de OnWorks a través de Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS

Este es el comando inotifywait 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


inotifywait - espere cambios en los archivos usando inotify

SINOPSIS


esperar [-hcmrq] [-e ] [-t ] [--formato ] [--timefmt ]
[...]

DESCRIPCIÓN


esperar espera eficientemente los cambios en los archivos que utilizan Linux inotify(7) interfaz. Eso
es adecuado para esperar cambios en archivos desde scripts de shell. Puede salir una vez
Ocurre un evento, o ejecuta y genera eventos continuamente a medida que ocurren.

SALIDA


esperar generará información de diagnóstico sobre errores estándar e información de eventos en
salida estándar. La salida del evento se puede configurar, pero por defecto consta de líneas
de la siguiente forma:

nombre_archivo_visado EVENTO_NOMBRES event_filename

nombre_archivo_visado
es el nombre del archivo en el que ocurrió el evento. Si el archivo es un directorio,
Se emite una barra inclinada final.

EVENTO_NOMBRES
son los nombres de los eventos inotify que ocurrieron, separados por comas.

event_filename
se emite solo cuando el evento ocurrió en un directorio, y en este caso el nombre de
se genera el archivo dentro del directorio que causó este evento.

De forma predeterminada, los caracteres especiales en los nombres de archivo no se escapan de ninguna manera. Esta
puede hacer que la salida de inotifywait sea difícil de analizar en scripts awk o similares.
La --csv y --formato Las opciones serán útiles en este caso.

OPCIONES


-h, --ayuda
Genere información de uso útil.

@
Al observar un árbol de directorios de forma recursiva, excluya el archivo especificado de ser
Visto. El archivo debe especificarse con una ruta relativa o absoluta de acuerdo con
si se proporciona una ruta relativa o absoluta para los directorios observados. Si un
La ruta específica se incluye y se excluye explícitamente, siempre se vigilará.

Nota: Si necesita ver un directorio o archivo cuyo nombre comienza con @, ingrese
camino absoluto.

--desde el archivo
Leer nombres de archivo para ver o excluir de un archivo, un nombre de archivo por línea. Si
Los nombres de archivo que comienzan con @ se excluyen como se describe arriba. Si es `- ',
los nombres de archivo se leen desde la entrada estándar. Usa esta opción si también necesitas mirar
muchos archivos para pasar como argumentos de línea de comando.

-metro, --monitor
En lugar de salir después de recibir un solo evento, ejecute indefinidamente. los
El comportamiento predeterminado es salir después de que ocurra el primer evento.

-D, --demonio
Igual que --monitor, excepto que se ejecutan en segundo plano registrando eventos en un archivo que debe
ser especificado por --outfile. Implica --syslog.

-o, --outfile
Salida de eventos a en lugar de stdout.

-s, --syslog
Errores de salida a syslog(3) módulo de registro del sistema en lugar de stderr.

-r, --recursivo
Observe todos los subdirectorios de los directorios pasados ​​como argumentos. Los relojes serán
configurar de forma recursiva a una profundidad ilimitada. Los enlaces simbólicos no se atraviesan. Recién
también se verán los subdirectorios creados.

Aviso: Si usa esta opción mientras observa el directorio raíz de un árbol grande,
puede llevar bastante tiempo hasta que se establezcan todos los relojes inotify y los eventos
no se recibirán en este momento. Además, dado que un reloj inotify será
establecido por subdirectorio, es posible que la cantidad máxima de inotify
se alcanzarán los relojes por usuario. El máximo predeterminado es 8192; se puede aumentar
escribiendo a / proc / sys / fs / inotify / max_user_watches.

-q, --tranquilo
Si se especifica una vez, el programa será menos detallado. Específicamente, no
indicar cuándo ha terminado de establecer todos los relojes inotify.

Si se especifica dos veces, el programa no generará nada en absoluto, excepto en el caso de
Errores fatales.

--excluir
No procese ningún evento cuyo nombre de archivo coincida con el POSIX extendido especificado
expresión regular, sensible a mayúsculas y minúsculas.

--excluir
No procese ningún evento cuyo nombre de archivo coincida con el POSIX extendido especificado
expresión regular, no distingue entre mayúsculas y minúsculas.

-t , --se acabó el tiempo
Salga si no ha ocurrido un evento apropiado dentro de segundos. Si
es cero (el valor predeterminado), espere indefinidamente un evento.

-e , --evento
Escuche solo eventos específicos. Se enumeran los eventos que se pueden escuchar
en la EVENTOS sección. Esta opción se puede especificar más de una vez. Si se omite,
todos los eventos son escuchados.

-C, --csv
Salida en formato CSV (valores separados por comas). Esto es útil cuando los nombres de archivo pueden
contener espacios, ya que en este caso no es seguro simplemente dividir la salida en
cada carácter de espacio.

--timefmt
Establezca una cadena de formato de hora aceptada por Strftime(3) para usar con el '% T'
conversión en la opción --format.

--formato
Salida en un formato especificado por el usuario, usando sintaxis similar a printf. Las cadenas del evento
la salida está limitada a alrededor de 4000 caracteres y se truncará a esta longitud.
Se admiten las siguientes conversiones:

% w Esto se reemplazará con el nombre del archivo supervisado en el que ocurrió un evento.

% f Cuando ocurre un evento dentro de un directorio, este será reemplazado por el nombre del
Archivo que provocó que ocurriera el evento. De lo contrario, será reemplazado por un
cuerda vacía.

% e Reemplazado con los eventos que ocurrieron, separados por comas.

% Xe Reemplazado con los eventos que ocurrieron, separados por el carácter que esté en
el lugar de 'X'.

% T reemplazado con la hora actual en el formato especificado por la opción --timefmt,
que debe ser una cadena de formato adecuada para pasar a Strftime(3).

SALIR ESTADO


0 El programa se ejecutó correctamente y se produjo un evento que se estaba escuchando.
para.

1 Ocurrió un error en la ejecución del programa, o ocurrió un evento que no fue
ser escuchado. Esto último generalmente ocurre si sucede algo que
quita a la fuerza el reloj inotify, como un archivo observado que se elimina o el
sistema de archivos que contiene un archivo observado que se está desmontando.

2 La -t se utilizó la opción y no ocurrió un evento en el intervalo especificado de
en las transacciones.

EVENTOS


Los siguientes eventos son válidos para su uso con el -e opción:

el acceso Se leyó un archivo observado o un archivo dentro de un directorio observado.

modificar Se escribió un archivo observado o un archivo dentro de un directorio observado.

attrib Se modificaron los metadatos de un archivo supervisado o un archivo dentro de un directorio supervisado.
Esto incluye marcas de tiempo, permisos de archivos, atributos extendidos, etc.

cerrar_escribir
Se cerró un archivo supervisado o un archivo dentro de un directorio supervisado, después de abrirse
en modo de escritura. Esto no implica necesariamente que se haya escrito en el archivo.

close_nowrite
Se cerró un archivo supervisado o un archivo dentro de un directorio supervisado, después de abrirse
en modo de solo lectura.

Cerrar Se cerró un archivo supervisado o un archivo dentro de un directorio supervisado, independientemente de cómo
estaba abierto. Tenga en cuenta que esto en realidad se implementa simplemente escuchando ambos
cerrar_escribir y cerrar_noescribir, por lo tanto, todos los eventos cercanos recibidos se generarán como
uno de estos, no CERRAR.

abiertas Se abrió un archivo observado o un archivo dentro de un directorio observado.

trasladado a
Se movió un archivo o directorio a un directorio supervisado. Este evento ocurre incluso si
el archivo simplemente se mueve desde y hacia el mismo directorio.

movido_de
Se movió un archivo o directorio de un directorio supervisado. Este evento ocurre incluso si
el archivo simplemente se mueve desde y hacia el mismo directorio.

movimiento Se movió un archivo o directorio desde o hacia un directorio observado. Tenga en cuenta que esto es
realmente implementado simplemente escuchando a ambos trasladado a y movido_de, por lo tanto
todos los eventos cercanos recibidos se mostrarán como uno o ambos de estos, no MOVERSE.

move_self
Se movió un archivo o directorio observado. Después de este evento, el archivo o directorio se
ya no es vigilado.

Para crear Se creó un archivo o directorio dentro de un directorio supervisado.

borrar Se eliminó un archivo o directorio dentro de un directorio supervisado.

eliminar_auto
Se eliminó un archivo o directorio observado. Después de este evento, el archivo o directorio se
ya no es vigilado. Tenga en cuenta que este evento puede ocurrir incluso si no es
ser escuchado explícitamente.

desmontar
Se desmontó el sistema de archivos en el que reside un archivo o directorio observado. Después
este evento el archivo o directorio ya no se está viendo. Tenga en cuenta que este evento
puede ocurrir incluso si no se está escuchando explícitamente.

EJEMPLOS


Ejemplo 1
Ejecutando inotifywait en la línea de comandos para esperar a que se ejecute cualquier archivo en el directorio `test '
accedido. Después de ejecutar inotifywait, `cat test / foo 'se ejecuta en una consola separada.

% inotifywait prueba
Configuración de relojes.
Relojes establecidos.
prueba / ACCESO foo

Ejemplo 2
Un breve script de shell para esperar de manera eficiente los mensajes de registro relacionados con httpd y hacer algo
apropiado.

#!/ Bin / sh
while inotifywait -e modificar / var / log / messages; hacer
if tail -n1 / var / log / messages | grep httpd; luego
kdialog --msgbox "¡Apache necesita amor!"
fi
hecho

Ejemplo 3
Se utiliza un formato de salida personalizado para ver `~ / prueba'. Mientras tanto, alguien corre `touch
~ / test / badfile; tocar ~ / test / goodfile; rm ~ / test / badfile'en otra consola.

% inotifywait -m -r --format '%: e% f' ~ / prueba
Configuración de relojes. Atención: dado que se proporcionó -r, ¡esto puede llevar un tiempo!
Relojes establecidos.
CREAR badfile
ABRIR badfile
ATTRIB archivo erróneo
CLOSE_WRITE: CERRAR badfile
CREAR goodfile
ABRIR goodfile
archivo bueno ATTRIB
CLOSE_WRITE: CLOSE goodfile
BORRAR badfile

AVISOS


Cuando se usa inotifywait, no se garantiza que el nombre de archivo que se genera esté actualizado
después de un movimiento porque es el inodo el que está siendo monitoreado. Además, ninguno de los
Se garantiza que las operaciones observadas se han realizado en el nombre de archivo inotifywait fue
instruido para monitorear en los casos en que el archivo sea conocido por varios nombres en el sistema de archivos.

Utilice inotifywait en línea utilizando los servicios de onworks.net


Ad


Ad