티스토리 뷰

개요

  • CentOS 7(또는 Amazon Linux 2)에서 /tmp 디렉토리는 시스템에 의해 사용된 임시 파일을 저장한다. 임시 디렉토리이기 때문에 누적된 임시 파일은 운영체제에 의해 주기적으로 제거된다. 주의할 점은 애플리케이션과 같은 시스템이 아닌 사용자에 의해 사용된 임시 파일은 별도로 제거되지 않고 계속 누적되어 디스크 용량 부족을 초래하여 운영 서비스에도 영향을 끼칠 수 있다. 이번 글에서는 사용자에 의해 생성된 임시 파일을 주기적으로 제거하는 방법을 소개하고자 한다.

/tmp 디렉토리 파일 목록 조회

  • /tmp 디렉토리에 누적된 파일 목록을 조회하는 방법은 아래와 같다.
# /tmp 디렉토리의 모든 파일을 출력
$ find /tmp -type f

# /tmp 디렉토리에서 시스템이 생성한 파일을 제외한 모든 사용자 파일을 출력
$ find /tmp -type f \( ! -user root \)

# /tmp 디렉토리에서 1일 전까지 생성된 시스템이 생성한 파일을 제외한 모든 사용자 파일을 출력
$ find /tmp -type f \( ! -user root \) -atime +1

/tmp 디렉토리 주기적 제거 스크립트 작성

  • 위를 응용하면 /tmp 디렉토리를 주기적으로 제거하는 스크립트를 아래와 같이 작성할 수 있다.
# /tmp 디렉토리 주기적 제거 스크립트 작성
$ nano /home/ec2-user/tmp.clean.sh
find /tmp -type f \( ! -user root \) -atime +1 -delete

# 스크립트 실행 권한 부여
$ chmod +x /home/ec2-user/tmp.clean.sh

# 크론탭 등록
$ crontab -e
* */8 * * * /home/ec2-user/tmp.clean.sh

# 크론탭 등록 확인
$ crontab -l
* */8 * * * /home/ec2-user/tmp.clean.sh
  • 이제 크론에 의해 사용자에 의해 생성된 임시 파일이 주기적으로 제거되도록 조치를 완료했다.

참고 글

댓글
댓글쓰기 폼