새로 작성된 파일 확인

avalon의 이미지

[질문 1]
데이타가 파일로 생성되면 분석하여 DB에다 집어 넣으려고 합니다.
보통 규칙적으로 작업을 하기 위해서는 cron 을 돌리는데..
부정기적으로 데이타가 생성되는 경우
그것을 감지하여 DB에 넣을 수 있는 방법이 있나요?
지금은 그냥 3시간에 한번꼴로 cron을 돌리고 있습니다.

[질문 2]
위에 이어서...
새로운 파일들만 DB에 넣고 싶은데..
지금은 DB에서 일일이 비교한 다음 없으면 넣는 방법으로 하는데
DB가 커지면 로드가 많이 걸릴 것 같은데

보통은 어떤 방법을 쓰나요??
깔끔한 팁 있을것 같은데 말입니다.

친철한 답변 미리 감사드립니다. :D

Prentice의 이미지

1. rsync와 조금은 연관이 있는 문제인 것 같아서 rsync 홈페이지를 뒤졌더니 changedfiles가 나오더군요.

Linux 2.4이상을 위한 커널 모듈+daemon이라고 합니다. 커널 레벨에서 파일 변화를 감지해서 daemon에 알려주면 daemon이 또 필요한 프로그램을 호출할 수 있는 체계라고 합니다.. freshmeat에는 changedfiles가 2.4 커널에서만 돈다고 되어 있지만 changedfiles mailing list archive 보시면 2.4이상에서 된다고 나옵니다.

pynoos의 이미지

avalon wrote:
[질문 1]
데이타가 파일로 생성되면 분석하여 DB에다 집어 넣으려고 합니다.
보통 규칙적으로 작업을 하기 위해서는 cron 을 돌리는데..
부정기적으로 데이타가 생성되는 경우
그것을 감지하여 DB에 넣을 수 있는 방법이 있나요?
지금은 그냥 3시간에 한번꼴로 cron을 돌리고 있습니다.

[질문 2]
위에 이어서...
새로운 파일들만 DB에 넣고 싶은데..
지금은 DB에서 일일이 비교한 다음 없으면 넣는 방법으로 하는데
DB가 커지면 로드가 많이 걸릴 것 같은데

보통은 어떤 방법을 쓰나요??
깔끔한 팁 있을것 같은데 말입니다.

친철한 답변 미리 감사드립니다. :D

질문 1 처럼 어떤 파일이 생기는 지와 변경되는 것을 추가하는 것은 어려운일인것 같습니다. (edge trigger? :)) 하지만 주기적으로 마지막 modification time이 바뀌는지는 알아봐서 바꾸는 것은 가능하죠.. (level trigger? :))

만약 shell programming으로 하려면, stat 명령
c programming으로 하려면 그래도 stat 입니다.

man 1 stat
man 2 stat

찾아보시면 mtime (modification time)에 대한 것이 참고 값이 되겠군요.

Prentice의 이미지

나중에야 알았지만 FAM이라는 것도 있더군요.

Gamin도 있습니다.

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.