728x90
반응형

---------------

find 명령어 활용

---------------

 

 최근 몇 일 전에 만들어진(수정된) 파일을 찾아서 지워주기.

 

 - crontab에 걸어서 주기적으로 실행하면 더 효과적.

 

 - 실제 파일 생성후 테스트 하였슴.

 

1. script 명령으로 실제 테스트 내용을 캡쳐시작한다.

 

  # script find_auto_after_rm
  Script started, file is find_auto_after_rm


2. 정확한 시점의 구분을 위해 현재 시간 및 날짜을 확인한다.

 

  # date
  Thu Jun 24 13:47:07 KORDT 2004

 

3. 테스트를 위한 파일들을 만들어본다.

   touch 명령어의 -t 옵션을 이용해 날짜별로 아래와 같이 만들어본다.

 

  # touch -t 06132222 0613    ; 0613이라는 파일의 작성시간을 6월13일 22시 22분으로 만든다.

  # touch -t 06142222 0614

  # touch -t 06152222 0615
  # touch -t 06162222 0616
  # touch -t 06172222 0617
  # touch -t 06182222 0618

  # touch -t 06192222 0619

  # touch -t 06202222 0620

  # touch -t 06212222 0621

  # touch -t 06222222 0622

  # touch -t 06232222 0623

  # touch -t 06242222 0624

  # touch -t 06252222 0625


  # ls -la
  total 32
  drwxr-sr-x   2 root     sys          512 Jun 24 13:47 .
  drwxr-sr-x   5 sys      sys         1024 Jun 24 13:43 ..
  -rw-r--r--   1 root     sys            0 Jun 13 22:22 0613
  -rw-r--r--   1 root     sys            0 Jun 14 22:22 0614
  -rw-r--r--   1 root     sys            0 Jun 15 22:22 0615
  -rw-r--r--   1 root     sys            0 Jun 16 22:22 0616
  -rw-r--r--   1 root     sys            0 Jun 17 22:22 0617
  -rw-r--r--   1 root     sys            0 Jun 18 22:22 0618
  -rw-r--r--   1 root     sys            0 Jun 19 22:22 0619
  -rw-r--r--   1 root     sys            0 Jun 20 22:22 0620
  -rw-r--r--   1 root     sys            0 Jun 21 22:22 0621
  -rw-r--r--   1 root     sys            0 Jun 22 22:22 0622
  -rw-r--r--   1 root     sys            0 Jun 23 22:22 0623
  -rw-r--r--   1 root     sys            0 Jun 24 2004  0624
  -rw-r--r--   1 root     sys            0 Jun 25 2004  0625
  -rwx------   1 root     sys          299 Jun 24 13:40 auto_find
  -rw-r--r--   1 root     sys           42 Jun 24 13:47 find_auto_after_rm

 

4. find의 -mtime옵션을 사용하여서 일주일(7일)을 기준으로 해서 테스트시작해본다.
 

  ---------------------------------------------------------------

  * 현재 시점에서 7일이전에 만들어진(수정되어진) 파일을 출력한다.

  ---------------------------------------------------------------

  # find . -mtime +7 -print
  ./0613
  ./0614
  ./0615
  ./0616

 

  -> 현재 시점이 6월 24일 14시정도 이므로 7일전에 만들어진 파일들만 출력된다.


  ---------------------------------------------------------------

  * 현재 시점에서 7일 안에 만들어진(수정되어진) 파일 출력한다.

  ---------------------------------------------------------------
  # find . -mtime -7 -print
  .
  ./auto_find
  ./0617
  ./0618
  ./0619
  ./0620
  ./0621
  ./0622
  ./0623
  ./find_auto_after_rm

 

  ---------------------------------------------------------------

  * 현재 시점에서 7일전 그 날에 만들어진(수정되어진) 파일 출력한다.

  ---------------------------------------------------------------

  # find . -mtime 7 -print
  ./0617


5. 실제 결과로 출력되어진 값을 받아서, 바로 검색해서 지워보자.

 

  -----------------------------------------------------------------------------

  * 현재 시점에서 7일이전에 만들어진(수정되어진) 파일을 찾고, 찾을 파일을 삭제한다.

  ------------------------------------------------------------------------------

  # find . -mtime +7 -exec rm {} \;


  # ls -la         ; 지워졌는 지 확인. 7일전에 만들어진 0613부터 0616파일이 지워졌다.
  total 24
  drwxr-sr-x   2 root     sys          512 Jun 24 14:01 .
  drwxr-sr-x   5 sys      sys         1024 Jun 24 13:43 ..
  -rw-r--r--   1 root     sys            0 Jun 17 22:22 0617
  -rw-r--r--   1 root     sys            0 Jun 18 22:22 0618
  -rw-r--r--   1 root     sys            0 Jun 19 22:22 0619
  -rw-r--r--   1 root     sys            0 Jun 20 22:22 0620
  -rw-r--r--   1 root     sys            0 Jun 21 22:22 0621
  -rw-r--r--   1 root     sys            0 Jun 22 22:22 0622
  -rw-r--r--   1 root     sys            0 Jun 23 22:22 0623
  -rw-r--r--   1 root     sys            0 Jun 24 2004  0624
  -rw-r--r--   1 root     sys            0 Jun 25 2004  0625

  -rwx------   1 root     sys          299 Jun 24 13:59 auto_find

 

 6. 스크립트(즉, 캡쳐한 내용 저장, 콘트롤키+D)
  # ^D   
  Script done, file is find_auto_after_rm

 

 실제 로그 파일이라던지...그런 것들 주기적으로 지울 때 좋은 예제인것 같다.

 간단한 거지만, 실제 테스트 해봐야 되겠죠. 왜냐, 유닉스 파일들은 지우면 못 살리니까,

 신중을 기해서 테스트 후 ....항상... rm명령 사용은 항상 조심^^합시다.

 

728x90
반응형
블로그 이미지

nineDeveloper

안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

,