EnglischFranzösischSpanisch

Server ausführen | Ubuntu > | Fedora > |


OnWorks-Favicon

inotify-hookablep - Online in der Cloud

Führen Sie inotify-hookablep im kostenlosen OnWorks-Hosting-Anbieter über Ubuntu Online, Fedora Online, Windows-Online-Emulator oder MAC OS-Online-Emulator aus

Dies ist der Befehl inotify-hookablep, der im kostenlosen OnWorks-Hosting-Provider über eine unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, Windows-Online-Emulator oder MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME


inotify-hookable - Blockieren der Befehlszeilenschnittstelle zum innotify

ZUSAMMENFASSUNG


Beobachten Sie ein Verzeichnis, teilen Sie uns mit, wenn sich darin etwas ändert:

inotify-hookable --watch-directories /tmp/watch-this

Sehen Sie sich einen Git-Baum, einige Konfigurationen und ein Repository mit statischen Assets an, starten Sie den Webserver neu
oder komprimieren Sie diese Assets, wenn sich etwas ändert:

innotify-anhängbar \
--watch-directories /etc/uwsgi \
--watch-directories /git_tree/central \
--watch-directories /etc/app-config \
--watch-directories /git_tree/static_assets \
--on-modify-path-command "^(/etc/uwsgi|/git_tree/central|/etc/app-config)=sudo /etc/init.d/uwsgi restart" \
--on-modify-path-command "^/git_tree/static_assets=(cd /git_tree/static_assets && compress_static_assets)"

Oder sehen Sie sich bestimmte Dateien an:

innotify-anhängbar \
--watch-files /var/www/cgi-bin/mod_perl_handler \
--on-modify-command "apachectl restart"

BESCHREIBUNG


Dieses einfache Befehlszeilenprogramm ist mein Ersatz für die Funktionalität von
Placks Filesys::Notify::Simple. Ich fand, dass Plack bei sehr großen Git-Bäumen ein ausgeben würde
übermäßig viel Überwachung des Dateisystems auf Änderungen.

Dieses Programm verwendet Linux::Inotify2, sodass der Kernel es benachrichtigt sofort wenn etwas
Änderungen (eigentlich ist es so schnell, dass wir umgehen müssen, wie schnell es uns Ereignisse sendet).

Das Ergebnis ist, dass Sie dies z. B. in einer Bildschirmsitzung ausführen und sich von ihm beobachten lassen können
Entwicklungsumgebung, und Ihr Webserver wird vor Ihrem Finger neu gestartet
Verlässt die Speichern .

Die temporären Dateien von vim und emacs werden standardmäßig ignoriert (siehe "--ignore-paths"), damit Sie
Bearbeiten Sie Ihre Dateien, ohne dass Ihr Server unnötig neu gestartet wird.

Derzeit ist die Befehlszeilenschnittstelle dafür die einzige, die wirklich Sinn macht,
Dieses Modul blockiert vollständig (obwohl es wahrscheinlich in einem anderen Prozess über ausgeführt werden könnte)
POE oder so). Patches willkommen.

OPTIONAL


Beachten Sie, dass boolesche Optionen mit "--no-OPTION" negiert werden können, zB "--no-r" oder
"--no-recursive", um die standardmäßig aktivierte Option "--recursive" auszuschalten.

"-w" or "--watch-Verzeichnisse"
Geben Sie dies an, um ein Verzeichnis zu beobachten. Sie können dies so oft geben, wie Sie es ansehen möchten
viele Verzeichnisse.

"-F" or "--watch-Dateien"
Beobachten Sie eine Datei, geben Sie mehrere Male für mehrere Dateien an. Sie können Dateien ansehen und
Verzeichnisse im selben Befehl.

"-R" or "--rekursiv"
Wenn Sie dies angeben, wird jedes von Ihnen angegebene Verzeichnis rekursiv überwacht. Das ist auf von
default.

"-C" or "--on-modify-command"
Ein Befehl, der ausgeführt wird, wenn etwas geändert wird.

"-C" or "--on-modify-path-command"
Ein Schlüssel-Wert-Paar, bei dem der Schlüssel eine Regex ist, die mit einem geänderten Pfad abgeglichen wird, und
Der Wert ist ein Befehl, der ausgeführt wird. Ein Beispiel finden Sie in der "SYNOPSIS".

Nützlich, um zB einen Webserver neu zu starten, wenn Sie das Verzeichnis ändern A aber etwas komprimieren
statische Assets, wenn Sie das Verzeichnis ändern B.

"-T" or "--Pufferzeit"
Linux sendet Ihnen innotify-Ereignisse wirklich schnell, so schnell, dass, wenn Sie so etwas laufen wie:

Berühren Sie die Foo-Bar

Vielleicht bekommst du eine Veranstaltung für foo in einem Batch, gefolgt von einer Veranstaltung für Bar später.

Um dies zu beheben, geben wir eine Schleife ein, wenn wir beginnen, Ereignisse zu erhalten, und schlafen für eine Standardeinstellung von
100 Mikrosekunden, solange wir Ereignisse erhalten, schlafen wir 100 Mikrosekunden lang,
aber sobald wir nichts neues bekommen, feuern wir unsere Eventhandler ab.

"-ICH" or "--ignore-pfade"
Regexes für Dateien/Verzeichnisse, für die Ereignisse ignoriert werden sollen. Standardmäßig ist dies auf Regexes eingestellt für
vim und emacs temporäre Dateien, "qr{\..*sw.\z}" bzw. "qr{\.\#[^/]+\z}".

Die Regexes stimmen nach einem "/" im Pfad oder am Anfang des Strings überein.

"-D" or "--debuggen"
Spucken Sie während der Ausführung einige ausführliche Debug-Ausgaben aus.

WISSEN


Dieses Modul wurde ursprünglich bei und für Booking.com entwickelt. Mit Genehmigung von
Booking.com, dieses Modul wurde verallgemeinert und auf CPAN gestellt, für das sich die Autoren wünschen
um ihre Dankbarkeit auszudrücken.

Verwenden Sie inotify-hookablep online mit den onworks.net-Diensten


Ad


Ad