현재 폴더 내에서 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) 2018.11.20
WINDOWS 업데이트 다시 시작 대기중  (0) 2017.11.22
Petya 랜섬웨어 차단 batch file  (0) 2017.06.28

+ Recent posts