디렉토리를 열고 "tail -f"를 사용하여 자체적으로 업데이트되도록 하세요.

디렉토리를 열고 "tail -f"를 사용하여 자체적으로 업데이트되도록 하세요.

이전 질문과 유사합니다.텍스트 파일을 열고 자동으로 업데이트되도록 하세요.;동일한 작업을 폴더에 대해서만 수행할 수 있는 방법이 있나요?

로그 폴더가 있는데 tail -f폴더와 함께 사용할 수 있나요?

$ tail -f /tmp/logs/

이것이 작동하지 않는다는 것을 알고 있지만 대안이 있습니까?

RHEL 5.10을 사용하고 있습니다.

답변1

예, 또 다른 옵션이 있습니다. 조사한 결과 다음을 사용할 수 있다는 것을 알았습니다.

$ watch "ls -l"

원하는 폴더에 있어야 합니다 watch.

또는 tail -10마지막에 다음을 사용할 수 있습니다.

$ watch "ls -l | tail -10"

이 명령은 ls2초마다 입력되며 출력을 마지막 10개 파일로 필터링합니다.

참조 링크를 읽으면 몇 가지 유용한 팁이 있습니다. 위 명령이 기억나지 않으면 .bashrc 파일에 다음을 추가할 수 있습니다.

alias taildir='watch "ls -l | tail -10"'

taildir따라서 전체 명령을 다시 작성할 필요 없이 입력만 하면 됩니다 .

인용하다:디렉토리를 추적하는 방법.

답변2

정확히 당신이 원하는 것이 무엇인지 잘 모르겠습니다. 어쩌면 inotifywaitfrom 패키지(Ubuntu의 경우) 가 필요할 수도 있습니다 inotify-tools. 불행히도 이것은 Linux 전용 솔루션입니다. 예를 들어:

$ inotifywait -m -e create -e modify -r /var/log
Setting up watches.  Beware: since -r was given, this may take a while!
Watches established.
/var/log/ CREATE test-for-inotify1.txt
/var/log/upstart/ CREATE test-for-inotify2.txt
/var/log/ MODIFY test-for-inotify1.txt
/var/log/ MODIFY auth.log
/var/log/ MODIFY syslog
/var/log/ MODIFY auth.log

man 1 inotifywait더 많은 시청 활동 및 옵션을 보려면 리소스를 참조하세요 .


다음에 추가:

또는 일부 특정 파일만 모니터링해야 하는 경우 tail -f여러 파일 이름을 사용할 수 있습니다.

$ tail -f 1.txt 2.txt 3.txt
==> 1.txt <==

==> 2.txt <==

==> 3.txt <==

==> 1.txt <==
new string in 1.txt

==> 3.txt <==
add string to 3.txt

==> 2.txt <==
And to 2.txt
^C

답변3

이 명령에 or 가 필요하지 않으면 watch어떻게 되나요 inotify?

ls -drt /var/log/* | tail -n5 | xargs tail -F

tail -n5가장 최근에 업데이트된 5개(-n5)의 로그를 찾은 /var/log다음 이러한 로그 파일에 대해 다중 파일 추적을 수행합니다. 그러나 모든 파일을 실시간으로 모니터링해야 하는 경우 이 옵션을 제거할 수 있습니다.

인용하다

최근 업데이트된 로그 파일 팔로우

관련 정보