Jak śledzić wszystkie pliki dziennika w folderze i podfolderach?
W Linuksie, używając polecenia tailf
, Jak mogę śledzić kilka plików dziennika, które znajdują się w folderze i w podfolderach?
4 answers
Aby zapisać wszystkie pliki wewnątrz folderu, możesz przejść do folderu i zapisać
tailf *.log
Aby dodać podfoldery do polecenia tailf, użyj
tailf **/*.log
Zamiast tailf
można również użyć tail -f
. Oczywiście, Wyrażenie regularne można ulepszyć tak, aby pasowało tylko do określonych nazw plików.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-19 19:13:08
To rekurencyjnie odnajdzie wszystkie *.loguj pliki w bieżącym katalogu i jego podfolderach i śledź je.
find . -type f \( -name "*.log" \) -exec tail -f "$file" {} +
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-12-11 05:35:25
Jeśli wszystkie pliki logów nie mają tego samego rozszerzenia. Możesz użyć następującego polecenia.
tail -f **/*
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-23 10:31:35
W ten sposób znajdujemy pliki rekurencyjnie, wypisujemy linie zaczynające się w linii 5 w każdym pliku i zapisujemy w concat.txt
find . -type f \( -name "*.dat" \) -exec tail -n+5 -q "$file" {} + |tee concat.txt
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-26 17:23:49