현재 폴더 내에서 365일 지난 폴더 & 파일지우기 예

[root@/]#find ./ -mtime +365 -exec rm -rf {} \;

※ 주의 : 지우고자 하는 폴더의 상위폴더에서 실행시 상위폴더의 생성날짜가 365일 이상이면
            그 폴더 전체가 지워짐에 주의!!
            find ./ 경로옵션이기때문에 반드시 지우고자 하는 폴더 위치에서 실행해야 합니다.

 

/ 경로에서 n일 지난 폴더 & 파일 지우기 및 crontab 등록

[root@/]#find /backup/ -name auto* -mtime +90 -exec rm -rf {} \;
(/backup 경로내의 auto로 시작하는 모든파일 중 90일 경과한 파일 삭제)

crontab -e

* 3 * * * find /backup/ -name auto* -mtime +90 -exec rm -rf {} \;

# 보기 명령어
find 상위폴더 -mindepth 1 -maxdepth 1 -mtime +일 -type d
find 상위폴더 -mindepth 1 -maxdepth 1 -mmin +분 -type d

# 삭제 명령어
find 상위폴더 -mindepth 1 -maxdepth 1 -mtime +일 -type d -exec rm -rf {} \;
find 상위폴더 -mindepth 1 -maxdepth 1 -mmin +분 -type d -exec rm -rf {} \;

# 예시
find /backup -mindepth 1 -maxdepth 1 -mtime +7 -type d -exec rm -rf {} \;
→ /backup의 하위폴더 중 7일이 지난 것을 삭제


# 일정기간 지난 파일 삭제 명령 - 1일 지난 파일 삭제 예 
find [디렉토리] -ctime +0 -exec rm -f {} \;
 
# 일정기간 지난 파일 삭제 명령 - 7일 지난 파일 삭제 예 
find [디렉토리] -ctime +7 -exec rm -f {} \;

* 수정한지 3일 이내 ( -mtime -3 ) 의 파일만 ( 백업할 때 유용 )
find . -mtime -3 -type f -ls

* 수정한지 30분 이내 ( -mmin -30 ) 의 파일만
find . -mmin -30 -type -f -ls
 
* 특정용량 이상되는 파일 찾기 - 10MB 이상 되는 파일 찾기 예
find [디렉토리] -size +1000k -exec ls -al {} \;

# 생산된지 30일 이상 된 파일만 삭제
find [디렉토리] -type f -ctime +30 -exec rm -rf {} \;

# 생산된지 30일 이상 된 비어있는 디렉토리만 삭제
find [디렉토리] -empty -type d -ctime +30 -exec rmdir {} \;
※ 리눅스 버전에 따라 -ctime 이 먹지 않는 경우가 있다. 이때는 -mtime 으로 대체한다 (의미는 다르지만....)

# 현재 디렉토리( . ) 이하에 확장자가 .html ( -name "*.html" ) 인 파일만 ( -type -f ) 
find . -name "*.html" -type f -ls
* 현재 디렉토리 이하에서 확장자가 .php 인 파일만 삭제하기
find . -name '*.php' -exec rm -f {} \;

* 파일크기가 300KB 이상 ( -size +300k ) 인 파일만 (호스팅 되는 홈피내에 큰 사이트의 파일이 있는지 찾을 때 유용)
find . -size +300k -ls

* 파일크기가 500bytes 이하 ( -size -500c )인 파일만
find . -size -500c -ls

* 수정한지 20일 이상 ( -mtime +20 ) 된 파일과 디렉토리
find . -mtime +20 -ls

* 수정한지 20일 이상된 파일만
find . -mtime +20 -type f -ls

* 수정한지 20일 이상된 파일만 삭제 ( -exec rm {} \; ) ( 정기적으로 20일지 지난 파일을 삭제할 때 유용 )
find . -mtime +20 -type f -ls -exec rm {} \;

'Infrastructure' 카테고리의 다른 글

오래된 로그 지우기  (0) 2022.07.21
iptables  (0) 2019.12.03
해당 디렉토리 하부 특정일자 이전 삭제  (0) 2019.05.19
서버간데이터복사  (0) 2018.11.20
WINDOWS 업데이트 다시 시작 대기중  (0) 2017.11.22
Petya 랜섬웨어 차단 batch file  (0) 2017.06.28

+ Recent posts