NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 학습
  • 매뉴얼

    학습


    기타 2부 - 윈도우에서 리눅스 명령어로 오래된 파일 자동 삭제하기. (Automatically delete old files wi…

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 1부에서 윈도우에 데비안 리눅스 bash shell을 설치 했는데요. 오늘은 리눅스에 있는 find 명령으로 오래된 파일을 찾는 방법에 대해 알아보도록 하겠습니다. 보통은 크론잡에 등록해서 주기적으로 작동하도록 만드는데요. 윈도우는 이런 기능이 없다보니 가끔 리눅스 명령을 사용하면 좋겠다는 생각을 합니다. 아무튼, 1부 내용을 참고하셔서 윈도우에 bash shell을 설치하고, 데비안(Debian)을 실행하세요.

    ywIH1kl.png

     

     

    오래된 파일을 찾기 위해 윈도우 폴더를 좀 찾아봤는데요. 다행스럽게도 카프카 테스트하던 로그 폴더가 있어서 여기를 예로 들면 좋겠네요.

    VStgNXh.png

     

     

    윈도우 드라이브로 이동해야 하기 때문에 리눅스의 mnt(mount: 마운트) 명령을 사용합니다.

    root@DESKTOP-L0PO951:~# cd /mnt/c/tmp
    root@DESKTOP-L0PO951:/mnt/c/tmp#

     

    파일을 찾을 때는 find 명령을 사용하고, -name 파라메터로 매치될 필터를 넘겨줍니다. 파일명은 상관없고, 확장자가 log인 파일을 모두 찾습니다. 그리고, -mtime 뒤에 일수를 적어줍니다. 아래는 +10을 적었기 때문에 해당 폴더에서 11일이 지난 모든 파일을 찾아줍니다.

    root@DESKTOP-L0PO951:/mnt/c/tmp# find -name '*.log' -mtime +10

    1cuS7X7.png

     

     

    10일이 지난 모든 파일을 삭제하려면 위 명령 뒤에 -delete를 적어주면 됩니다.

    root@DESKTOP-L0PO951:/mnt/c/tmp# find -name '*.log' -mtime +10 -delete

     

    삭제 후 다시 조회 해보면 파일이 하나도 안나오는걸 알 수 있습니다.

    root@DESKTOP-L0PO951:/mnt/c/tmp# find -name '*.log' -mtime +10 -delete
    root@DESKTOP-L0PO951:/mnt/c/tmp# find -name '*.log' -mtime +10
    root@DESKTOP-L0PO951:/mnt/c/tmp#

     

    윈도우 프로그램으로는 아래와 같은 커스텀 모듈을 만들었는데요.

    [ 윈도우에서 오래된 파일 삭제하는 방법 ]

     

     

     

     

    뭐 방식이야 어떻든간에 윈도우에서 유용한 리눅스 명령어를 사용하면 좀 더 편리한 작업 환경을 만들 수 있습니다. 다만, 리눅스에서 NTFS 포멧의 파일을 편집은 가능하나 반대로 윈도우에서 리눅스 파일을 콘트롤하는건 불가능합니다. 이름에서도 알 수 있듯이 하위 시스템이라서 그런거 같아요. 저도 유용한 몇몇 기능들만 사용하고 있고 대부분의 작업은 윈도우에서 이루어지다보니 깊이있게 호환성을 테스트 해본건 아닙니다^^

     

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

     

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.