Nach einigen weiteren Untersuchung fand ich, dass Lösung folgende funktioniert: xargs -L 1
.
Piped xargs führt den Befehl nicht aus
Ich möchte nginx access.log auf fehlerhafte Anfragen überwachen und mich über solche Fälle informieren.
Dafür habe ich folgenden Befehl geschrieben:
tail -n0 -f access.log | grep --line-buffered '\{' | xargs sentry-cly -m
Diese Lösung funktioniert jedoch aus irgendeinem Grund nicht. Wenn ich die letzte Pipe entferne und nur mit grep ende, sehe ich die Ausgabe, da die Protokolldatei neue Datensätze erhält.
Ich verstehe nicht, warum xargs nicht ausgeführt wird. Das Gleiche gilt, wenn Sie Sentry-cli durch cat oder echo ersetzen.
Könnten Sie erklären, warum ich so etwas verhalte?
2 Antworten auf die Frage
Sammelt standardmäßig xargs
die Eingabe, bis sie so viel hat, wie sie glaubt, sie kann sicher an einen einzelnen Aufruf des Dienstprogramms übergeben werden (in diesem Fall sentry-cly -m
). Das heißt, es wartet, bis eine große Anzahl von Protokollnachrichten angezeigt wird, und wird dann ausgeführt sentry-cly -m first message second message third message ... thousandth message ...
. Um dies zu vermeiden, verwenden Sie xargs -L1 sentry-cly -m
- die -L1
Anweisung, dass sie sentry-cly -m
für jede gelesene Zeile (dh für jede Nachricht) ausgeführt werden soll.
(In ähnlicher Weise xargs -L2 sentry-cly -m
würde warten, bis es 2 Nachrichten erhalten hatte, dann ausführen sentry-cly -m "firstmessage" "secondmessage"
und dann auf die nächsten zwei warten ... Sie können dies sehen, indem Sie ausführen xargs -L2 echo
und dann Zeilen eingeben und beobachten, was wann wiederholt wird.)
Verwandte Probleme
-
9
Was ist der Unterschied zwischen den Befehlen "su -s" und "sudo -s"?
-
4
Gutes freies Ubuntu Server-VMWare-Image benötigt
-
4
Was sind die Unterschiede zwischen den großen Linux-Distributionen? Werde ich es merken
-
2
Begrenzung der CPU-Auslastung für Flash in Firefox?
-
2
Wie kann ich mein Mikrofon unter Debian GNOME zum Laufen bringen?
-
2
Conky-Setups - Beispiele / Ideen?
-
3
Was sind die Unterschiede zwischen Linux Window Managern?
-
2
ThunderBird / Lichtsynchronisation mit SE k770i
-
4
Linux-Dateisystem
-
6
Vollbild-Flash langsam in KDE 4