본문 바로가기

Programming etc/UNIX

특정 일자가 지난 날짜별 폴더 삭제

서버에서 파일들이 날짜별 디렉토리로 backup → 특정 일자가 지난 날짜별 디렉토리를 삭제

<성능 향상>

로직은 찾아서 삭제하는 것이다. 삭제는 파일 건별로 하므로 개선할 여지가 없다. 대신 대상 파일을 찾는 것을 최소화하면 성능을 향상시킬 수 있다.

날짜별 디렉토리 및 디렉토리 안에 있는 파일/디렉토리 전체를 삭제하므로, 날짜별 디렉토리만 찾는다.

1) 특정 일자가 지난 파일을 찾기X → 특정 일자가 지난 디렉토리를 찾기

2) 디렉토리를 찾은 경우, 해당 디렉토리 하위 디렉토리를 찾지 않기


ex) /data001/BAK/yyyyMMdd 디렉토리에 파일이 backup 되며, 생성된지 30일이 지난 파일들을 삭제할 때 사용하는 명령어

find /data001/BAK/* -type d -prune -mtime + 30 -exec rm -Rf {};

'Programming etc > UNIX' 카테고리의 다른 글

상황에 맞는 UNIX/Linux 명령어  (0) 2016.01.12