기타 2부 - 윈도우에서 리눅스 명령어로 오래된 파일 자동 삭제하기. (Automatically delete old files wi…
페이지 정보
본문
안녕하세요. 엔지엠소프트웨어입니다. 1부에서 윈도우에 데비안 리눅스 bash shell을 설치 했는데요. 오늘은 리눅스에 있는 find 명령으로 오래된 파일을 찾는 방법에 대해 알아보도록 하겠습니다. 보통은 크론잡에 등록해서 주기적으로 작동하도록 만드는데요. 윈도우는 이런 기능이 없다보니 가끔 리눅스 명령을 사용하면 좋겠다는 생각을 합니다. 아무튼, 1부 내용을 참고하셔서 윈도우에 bash shell을 설치하고, 데비안(Debian)을 실행하세요.
오래된 파일을 찾기 위해 윈도우 폴더를 좀 찾아봤는데요. 다행스럽게도 카프카 테스트하던 로그 폴더가 있어서 여기를 예로 들면 좋겠네요.
윈도우 드라이브로 이동해야 하기 때문에 리눅스의 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
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 포멧의 파일을 편집은 가능하나 반대로 윈도우에서 리눅스 파일을 콘트롤하는건 불가능합니다. 이름에서도 알 수 있듯이 하위 시스템이라서 그런거 같아요. 저도 유용한 몇몇 기능들만 사용하고 있고 대부분의 작업은 윈도우에서 이루어지다보니 깊이있게 호환성을 테스트 해본건 아닙니다^^
개발자에게 후원하기
추천, 구독, 홍보 꼭~ 부탁드립니다.
여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~
감사합니다~
- 이전글파이썬 매크로 - 셀레니움을 이용한 티켓팅 매크로 만들기. (Selenium Ticketing Macro) 22.06.25
- 다음글1부 - 윈도우에서 배쉬 쉘을 사용하려면! (To use the bash shell on windows!) 22.06.24
댓글목록
등록된 댓글이 없습니다.