로그 내용을 특정날짜 이후로 전부보려면...

guerrillalds의 이미지

예를 들어 아래 내용대로 입력한다면
cat /var/adm/messages

로그를 본다고 할때 전체 로그말고 오늘 날짜 기준으로 12월 13일 부터 로그를 보고 싶다고 한다면 어떻게하면 좋을까요?

혹시 여기서 더 나아가 시간 단위로 설정도 가능한지요? 12월 13일 03시 부터 14일 15시까지 로그만 본다는 식으로요...

아... 궁금합니다 ㅜㅜ

bacon의 이미지

스크립트 하나 짜면 될텐데요, 제가 쓰고 있는 (GNU) awk 스크립트가 있어서 올려 드리죠.

BEGIN {
        mon["Jan"] = 1;
        mon["Feb"] = 2;
        mon["Mar"] = 3;
        mon["Apr"] = 4;
        mon["May"] = 5;
        mon["Jun"] = 6;
        mon["Jul"] = 7;
        mon["Aug"] = 8;
        mon["Sep"] = 9;
        mon["Oct"] = 10;
        mon["Nov"] = 11;
        mon["Dec"] = 12;
 
        st=mktime(year " " start);
        et=mktime(year " " end);
}
{
        split ($3, d, ":");
        stamp=mktime(year " " mon[$1] " " $2 " " d[1] " " d[2] " " d[3]);
        if (stamp >= st && stamp <= et) print $0;
}

위의 내용을 logview.awk에 저장했다고 할때 2008년도 12월 14일 01시 01분 01초 부터 2008년 12월 14일 07시 01분 01초 까지 볼려고 하면 다음 처럼 하시면 되죠.

awk -f logview.awk -vyear=2008 -vstart="12 14 01 01 01" -vend="12 14 07 01 01" /var/log/messages

gawk가 필요할꺼고 로그파일의 날짜 시간 포맷은 Dec 14 07:27:01 과 같다고 가정하고 작성된 것이므로 locale차이에 의해 포맷이 다르면 스크립트가 작동하지 않을것입니다.

guerrillalds의 이미지

특정날짜를 입력하지 않고 예를들어 매일 7시정도에 그 전날 로그를 본다고 할때 "date"를 이용한다던가 변수 정해서 날짜를 불러오게 한다던가하는 방식으로 사용 가능한가요?

aero의 이미지

로그의 타임스템프가 다음과 같은 형식이라고 하면

.
.
.
 월 일  시 분 초
###############
Dec  1 16:00:00
Nov 16 02:05:23

12월14일 밤11시로그부터 12월15일 오전 2시까지 로그를 보고싶다고 하면
Perl의 range operator ..를 사용하여 다음과 같이 하면 됩니다.

perl -ne 'print if /^Dec 14 23/../^Dec 15 02/' /var/log/messages

위에서 if 의 조건인 /^Dec 14 23/../^Dec 15 02/ 는 ..를 기준으로
앞의 정규식이 참이 되는 부분부터 뒤의 정규식이 참이 되는 부분까지를 뜻합니다.

정규식부분을 원하는 시각에 맞게(필요할경우 시분초까지) 변경하시면 더 큰범위 부터
더 작은범위까지 볼 수 있으실 겁니다.

guerrillalds의 이미지

덕분에 해결됐습니다. 감사해요~

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.