
네트워크 트래픽의 전체 패킷 캡처를 수행하는 버퍼 상자에 사용되는 스크립트를 작성하려고 합니다. 상당히 큰 네트워크의 경우 캡처를 100MB 세그먼트로 나눕니다. 1분 동안 네트워크 트래픽이 많은 경우에는 해당 기간을 포괄하는 여러 개의 PCAP를 갖게 됩니다.
그래서 제가 하고 싶은 것은 무언가를 검색하는 분석가가 날짜와 시간을 지정하고 그 양쪽에서 파일을 검색하려는 시간(분)을 지정할 수 있는 bash 스크립트를 갖는 것입니다. 분명히 나는 이런 일을 할 수 있습니다 -
ls -al | grep "Dec 1" | grep 02:00
ls -al | grep "Dec 1" | grep 02:01
등등, 각 결과를 얻고 내가 찾고 있는 특정 키워드에 대해 각 파일을 개별적으로 grep합니다. 하지만 특정 시간 범위 내에 생성된 모든 파일에 대해 더 넓은 검색을 수행한 다음 각 파일을 grep할 수 있기를 바랍니다. 키워드.
어떻게 해야 할지 잘 모르겠습니다. 도움을 주시면 감사하겠습니다.
답변1
(GNU/Linux에서) 좋은 일 중 일부는 find
다음과 같습니다:
단위:
n
정확히N단위-n
미만N단위+n
이상N단위 -
무슨 일이에요:
-atime
: 마지막으로액세스됨-ctime
: 변경 내용파일 자체(권한, 소유자, ...), 해당 내용이 아님-mtime
:파일의 내용변경됨-amin n
:N분 연령-atime n
:N일(24시간) 전ctime/min
및mtime/min
) 도 마찬가지입니다 .
따라서:
find -atime -30
→ 마지막으로 액세스한 지 30일 미만find -ctime +5
→ 5일 이상 전에 파일 자체가 변경되었습니다.find -mtime +2 -31
→ 파일 내용이 변경된 지 2일 이상, 31일 미만
또한 - -daystart
: 오늘 이후, 0.00h
그리핑
find
물건 -exec grep {} \;
→; 마지막 부분( )은 필수입니다. 와 {} \;
사이에 단일 공백이 있다는 점에 유의하세요.{}
\;
옵션 -exec
을 사용하면 다른 명령을find
답변2
find -iname "" -mtime -7 -exec zgrep "" {} \;
예를 들어
/opt/WebSphere/AppServer/profiles/application/logs/ -iname "SystemOut*" -mtime -7 -exec zgrep "FileNotFoundException" {} \;
/opt/WebSphere/AppServer/profiles/application/logs/ 디렉토리에서 지난 7일 동안 SystemOut으로 시작된 파일을 찾고 String FileNotFoundException을 찾습니다.