inotifywait(1

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

inotifywait(1)

NAMN

inotifywait, fsnotifywait – vänta på filändringar med hjälp av inotify eller fanotify

SYNOPSIS

inotifywait [-hcmrPqIFS] [-e <händelse>] [-t <sekunder>] [--format <fmt>] [--timefmt <fmt>] <fil> [...]

fsnotifywait [-hcmrPqIFS] [-e <händelse>] [-t <sekunder>] [--format <fmt>] [--timefmt <fmt>] <fil> [...]

BESKRIVNING

inotifywait väntar effektivt på ändringar i filer med hjälp av Linux-gränssnittet inotify(7) som standard. Det är lämpligt för att övervaka filändringar i skript. Det kan antingen avslutas efter en händelse, eller fortsätta och skriva ut händelser kontinuerligt.

fsnotifywait är likt inotifywait men använder som standard fanotify(7). Om det anges uttryckligen kan det använda inotify(7).

UTDATA

inotifywait och fsnotifywait skriver ut diagnostisk information till standardfel och händelseinformation till standardut. Händelseutdata kan konfigureras, men standardformatet är:

watched_filename EVENT_NAMES event_filename

watched_filename Filen där händelsen inträffade. Om det är en katalog avslutas namnet med snedstreck.

EVENT_NAMES Namnen på de inotify-händelser som inträffade, separerade med kommatecken.

event_filename Anges endast när händelsen inträffade i en katalog. Det är namnet på filen i katalogen som orsakade händelsen.

Specialtecken i filnamn undantas inte som standard. Använd --csv eller --format för bättre hanterbarhet.

FLAGGOR

-h, --help Visa hjälpinformation.

@<fil> Undanta specifik fil vid rekursiv övervakning.

--fromfile <fil> Läs filnamn från fil eller standardinmatning (`-`). Rader som börjar med @ undantas.

-m, --monitor Körs kontinuerligt istället för att avslutas efter första händelsen.

-d, --daemon Kör i bakgrunden. Kräver --outfile. Implicerar --syslog.

-o, --outfile <fil> Skriv utdata till angiven fil istället för stdout.

-s, --syslog Logga fel till syslog(3) istället för stderr.

-P, --no-dereference Följ inte symboliska länkar.

-r, --recursive Övervaka underkataloger rekursivt.

-q, --quiet Tyst läge. En gång: mindre pratig. Två gånger: inga utskrifter förutom fatala fel.

--exclude <mönster> Uteslut filer som matchar reguljärt uttryck (skiftlägeskänsligt).

--excludei <mönster> Uteslut filer som matchar reguljärt uttryck (skiftlägesokänsligt).

--include <mönster> Endast behandla filer som matchar reguljärt uttryck (skiftlägeskänsligt).

--includei <mönster> Endast behandla filer som matchar reguljärt uttryck (skiftlägesokänsligt).

-t <sek>, --timeout <sek> Avsluta efter angivet antal sekunder om ingen händelse inträffar.

-e <händelse>, --event <händelse> Lyssna endast på angivna händelser (se #HÄNDELSER).

-c, --csv CSV-format. Nyttigt om filnamn innehåller mellanslag.

--timefmt <fmt> Tidsformat enligt strftime(3) för användning med %T i --format.

--no-newline Ingen nyrad efter användarspecificerat format.

--format <fmt> Användardefinierat format med printf-liknande syntax. Tillgängliga konverteringar:

%w  Namn på övervakad fil/katalog  
%f  Namn på fil som orsakade händelsen  
%e  Händelsenamn  
%Xe Händelser separerade av X  
%T  Tid enligt --timefmt  
%0  NUL  
%n  Radslut

-I, --inotify Använd inotify (standard för inotifywait).

-F, --fanotify Använd fanotify (standard för fsnotifywait). Kräver root före kernel 5.12.

-S, --filesystem Övervaka hela filsystemet med fanotify.

RETURVÄRDEN

0 – Händelse inträffade framgångsrikt. 1 – Fel eller oväntad händelse. 2 – Timeout (om -t angavs).

HÄNDELSER

Följande händelser kan användas med -e:

access – Fil lästes modify – Fil skrevs till attrib – Metadata ändrades close_write – Fil stängdes efter skrivning close_nowrite – Fil stängdes utan skrivning close – Samtliga stängningar (eg. close_write + close_nowrite) open – Fil öppnades moved_to – Fil flyttades in i katalog moved_from – Fil flyttades ut från katalog move – Flyttning (både moved_to och moved_from) move_self – Övervakad fil flyttades create – Ny fil eller katalog skapades delete – Fil eller katalog togs bort delete_self – Övervakad fil togs bort unmount – Filsystemet avmonterades

EXEMPEL

Exempel 1 Vänta på åtkomst i `test`-katalogen:

inotifywait test
cat test/foo

Exempel 2 Shellscript för att reagera på httpd-loggar:

#!/bin/sh
while ! inotifywait -e modify /var/log/messages; do
  if tail -n1 /var/log/messages | grep httpd; then
    kdialog --msgbox "Apache behöver kärlek!"
  fi
done

Exempel 3 Anpassat format:

inotifywait -m -r --format '%:e %f' ~/test

Exempel 4 Tvinga rättigheter:

inotifywait -qmr -e 'moved_to,create' --format '%w%f%0' --no-newline ~/test |\
  while IFS= read -r -d '' fil; do
    chmod -v a+rX "$fil"
  done

BEGRÄNSNINGAR

Filnamn kan bli inaktuella efter flyttning (inode-övervakning). Operationer kan gälla andra namn på samma fil.

BUGGAR

Rekursiv övervakning kan missa händelser direkt efter skapade kataloger. Händelsekö antas aldrig överfull.

UPPHOVSMÄN

Skapad av Rohan McGovern, nu underhålls av Eric Curtin och Radu Voicilas. Se: [1]

Webbplats: [2]

SE ÄVEN

inotifywatch(1), strftime(3), inotify(7)

COLOPHON

Denna manualsida är en del av projektet inotify-tools. Mer info: [3]

Rapportera fel till: inotify-tools-general@lists.sourceforge.net Senaste commit: 2024-12-20

Version: inotifywait 4.23.9.0 Datum: 2023-09-23

Sidslut

Orginalhemsidan på Engelska https://man7.org/linux/man-pages/man1/fsnotifywait.1.html


Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till Datorhjälp Bromma som har sponsrat Linux.se med webbhotell.