오늘은 간단한 명령이지만 정작 쓰려면 긴가민가 하는 명령을 하나 설명드립니다.
서버를 운영하다 보면 (따로 관리자 없이) 로그파일이나 더이상 이용하지 않는 임시 파일들이 많이 생깁니다. 저 같은 경우는 네이버 신디케이션을 이용하면서 네이버쪽에 ping 요청하면서 신디케이션 문서를 xml로 생성해 놓는데요, 몇 천개를 하다 보니 ping 요청을 한다고 중국집 마냥 바로 와서 가져가는게 아니니 서버에 계속 쌓이게 되더군요. 생각없이 있다가 디렉토리를 보니 파일이 너무 많아졌습니다. -_-;;
삭제를 하려고 해도 이게 네이버에서 가져간 건지 아닌지 모르니 - 경험상 며칠씩 걸리는 경우도 있더군요 - 10일 정도 기간을 두고 그 이전 xml 파일만 삭제할 필요가 생겼습니다.
이럴 때에는 아래와 같이 하면 됩니다 :
find *.xml -mtime +10 -exec rm {} \;
find 명령은 다들 아시지요? 첫번째 인수는 디렉토리 이름이나, * 등 아무거나 들어가도 됩니다.
두번째 인수 -mtime은 기간을 일 단위로 정해줍니다. 한 달로 하려면 -mtime +30 하면 되겠지요.
세번째 -exec는 다음 명령으로 전달하는 부분입니다. 저는 삭제를 하려고 하니 rm 명령어를 이용하겠습니다. 그 뒤에 나오는 {} 과 \; 는 꼭 입력해주셔야 합니다.
Update: 명령이 실행된 파일들을 보고 싶으시면 -print 옵션을 추가하시면 됩니다.
find *.xml -mtime +10 -print -exec rm {} \;
'Dev > Linux' 카테고리의 다른 글
anaconda3에서 jupyter notebook - 다른 환경 설정하기 (0) | 2017.10.30 |
---|---|
Ubuntu에서 Anaconda 설치하기 (0) | 2017.10.24 |
[Ubuntu/Apache] www 도메인으로 리다이렉트 간단 설정 (1) | 2015.09.07 |
Ubuntu - swap 설정하기 (0) | 2015.04.07 |
[ubuntu] 개인 디렉토리(public_html)에서 php 사용하도록 세팅하기 (0) | 2015.01.04 |