본문 바로가기

운영체제/리눅스

[Linux] 일정 기간이 지난 파일 삭제 스크립트 및 크론탭

 일정 기간이 지난 파일의 삭제 스크립트 및 크론탭 예제입니다.

 예제에서는 특정 폴더 전체에서 수행하는 스크립트와 특정 폴더 안에 어떠한 문자열을 찾아 삭제를 수행하는 스크립트로 나뉘어져 있습니다.

 

 

# Contents


  • 일정 기간이 지난 파일 삭제 스크립트
  • 크론탭 적용

 

 

# 일정 기간이 지난 파일 삭제 스크립트


스크립트 형식으로 제공하고 있습니다. 아래 코드를 [ 파일명 ].sh 로 저장하여 주시기 바랍니다.

 

1. 특정 폴더 전체에서 수행

#!/bin/sh
/usr/bin/find /DATA/gitlab_backups/ -type f -mtime +10 -exec rm {} +

 

type -f 는 파일만 찾는 Option입니다. 디렉토리를 찾기 위해서는 -d 옵션으로 변경해 주시면 됩니다.

 

-mtime 옵션은 수정된 날짜 시간 기록을 찾는 옵션입니다.

-ctime 옵션은 생성된 날짜 시간 기록을 찾는 옵션입니다.

-atime 옵션은 읽히거나 실행 됐을때의 기록을 찾는 옵션입니다.

 

날짜 기준 + 를 - 로 바꾸면 현재 날짜 기준 수정된지 10일 이내 파일들을 찾게됩니다.

 

 

2. 문자열을 찾아서 수행

#!/bin/bash
find /DATA/gitlab_backups/*.tar -ctime +30 -exec rm -f {} \;

 

 

# 크론탭 적용


sudo crontab -e 
0 * * * * sh /etc/gitlab/rm_data.sh