it-swarm.com.de

Wie werden alle Protokolldateien in einem Ordner und in Unterordnern überwacht?

Wie kann ich unter Linux mit dem Befehl tailf mehrere Protokolldateien, die sich in einem Ordner und in den Unterordnern befinden, mit einem Tail versehen?

36
nakib

Um alle Dateien in einem Ordner zu protokollieren, können Sie in den Ordner gehen und schreiben

tailf *.log

Verwenden Sie, um die Unterordner zum Befehl tailf hinzuzufügen

tailf **/*.log

Anstelle von tailf können Sie auch tail -f. Natürlich kann der reguläre Ausdruck verbessert werden, um nur bestimmten Dateinamen zu entsprechen.

61
nakib

Dadurch werden alle * .log-Dateien im aktuellen Verzeichnis und seinen Unterordnern rekursiv gesucht und mit einem Tail versehen.

find . -type f \( -name "*.log" \) -exec tail -f "$file" {} +

19
cevaris

Wenn nicht alle Protokolldateien dieselbe Erweiterung haben. Sie können folgenden Befehl verwenden.

tail -f **/*
12
Farid Movsumov

Auf diese Weise werden Dateien rekursiv gesucht, Zeilen beginnend mit Zeile 5 in jeder Datei gedruckt und in der Datei concat.txt gespeichert

find . -type f \( -name "*.dat" \) -exec tail -n+5 -q "$file" {} + |tee concat.txt
0
Ivan Nack