Używanie less
polecenia w systemie Linux w trybie tail (polecenie F lub mniej -f) konsekwentnie przestaje działać na niektórych komputerach i / lub niektórych plikach. Nowe zmiany po prostu przestają się pojawiać.
Wiem, że naprawiłem to już dawno temu, ale nie pamiętam, jakie było rozwiązanie.
Jakieś pomysły?
Odpowiedzi:
Spróbuj użyć
less --follow-name
. Nawet jeśli plik ma tę samą nazwę, proces (y) aktualizujący go może to robić w sposób, który zmienia i-węzeł pliku - więc z punktu widzenia systemu operacyjnego jest to nowy plik po aktualizacjach.źródło
--follow-name
został wprowadzony w mniejszej wersji v415 ( greenwoodsoftware.com/less/news.415.html ), wydanej 15 listopada 2007 r. Dlatego stara instalacja Linuksa może go nie mieć.Czy przeglądasz pliki dziennika, które są obracane przez logrotate? Jeśli nazwa pliku, który jest mniej oglądany, zostanie zmieniona (np. Z dziennika na log.0 przez logrotate), less będzie nadal oglądać ten plik, nawet jeśli nowe wpisy są zapisywane w innym pliku (z oryginalną nazwą).
źródło
może mógłbyś
tail -f [filename]
zamiast tego spróbować ?źródło
Robię
less +F --follow-name
.--follow-name
po prostu monitoruje plik o tej samej nazwie bez odbierania nadchodzących zmian w moim przypadku (CentOS 7).Właściwie tworzę do tego alias:
Dodaj tę linię w
/etc/profile.d/alias.sh
:Zapisz i zrób to, aby użyć go teraz.
. /etc/profile.d/alias.sh
źródło