웹사이트 서버 용량이 갑자기 늘어나는 원인과 확인 순서

웹사이트를 운영하다 보면 별다른 작업을 하지 않았는데도 서버 용량 증가가 갑자기 발생하는 경우가 있습니다. 파일을 삭제해 공간을 확보했는데도 다시 디스크가 가득 차거나, 특정 로그 파일이 짧은 시간 안에 수백 MB 이상 커지기도 합니다.

이 글에서는 서버 용량 증가 원인과 디스크 사용량을 확인하는 순서, 안전하게 파일을 정리하는 방법을 알아봅니다.

서버 용량 증가의 주요 원인

서버 디스크 사용량이 늘어나는 원인은 다양하지만, 실제 운영 환경에서는 다음 항목에서 문제가 발생하는 경우가 많습니다.

  • 애플리케이션 및 웹서버 로그 증가
  • 오류가 반복되면서 생성되는 대용량 로그
  • 오래된 백업 파일 누적
  • 업로드 파일 및 첨부파일 증가
  • 임시 파일과 캐시 데이터 누적
  • 데이터베이스 로그 또는 세션 파일 증가
  • 삭제했지만 프로세스가 계속 사용 중인 파일
  • 악성 파일 업로드 또는 비정상 접근

특히 서버 용량을 정리한 직후 다시 빠르게 증가한다면, 단순한 파일 누적보다는 특정 프로세스가 파일을 반복적으로 생성하는 상황일 가능성이 높습니다.

1. 전체 디스크 사용량 확인

먼저 서버 전체에서 어느 파티션의 용량이 부족한지 확인합니다.

df -h

주로 확인할 항목은 다음과 같습니다.

  • 전체 용량
  • 사용 중인 용량
  • 남은 용량
  • 사용률
  • 마운트 위치

사용률이 90% 이상이라면 서비스 장애가 발생하기 전에 원인을 확인하는 것이 좋습니다.

디스크가 완전히 차면 로그 기록, 파일 업로드, 데이터베이스 처리, 임시 파일 생성 등이 정상적으로 동작하지 않을 수 있습니다.

2. 용량이 큰 디렉터리 찾기

어느 디렉터리가 많은 공간을 차지하는지 확인합니다.

du -h --max-depth=1 / 2>/dev/null | sort -hr

특정 디렉터리를 확인하려면 경로를 변경합니다.

du -h --max-depth=1 /var 2>/dev/null | sort -hr

웹사이트 파일이 /home이나 /var/www에 있다면 해당 경로도 확인합니다.

du -h --max-depth=1 /var/www 2>/dev/null | sort -hr

처음부터 모든 파일을 하나씩 확인하기보다, 상위 디렉터리부터 단계적으로 범위를 좁히는 방식이 효율적입니다.

3. 대용량 파일 확인

서버에서 용량이 큰 파일을 직접 찾을 수도 있습니다.

find / -type f -size +500M 2>/dev/null

파일 크기와 경로를 함께 확인하려면 다음과 같이 사용할 수 있습니다.

find / -type f -size +500M -exec ls -lh {} \; 2>/dev/null

확인해야 할 파일의 대표적인 예는 다음과 같습니다.

  • catalina.out
  • access.log
  • error.log
  • 애플리케이션 로그
  • 데이터베이스 로그
  • 압축되지 않은 백업 파일
  • 오래된 설치 파일
  • 임시 덤프 파일

파일 이름만 보고 바로 삭제하지 말고, 먼저 어떤 서비스에서 사용하는 파일인지 확인해야 합니다.

4. 로그 파일이 빠르게 증가하는지 확인

서버 용량 증가의 가장 흔한 원인 중 하나는 로그 파일입니다.

특히 같은 오류가 반복되면 짧은 시간 안에 로그가 급격하게 커질 수 있습니다.

로그의 최근 내용을 확인합니다.

tail -n 100 파일경로

실시간으로 로그가 추가되는지 확인하려면 다음 명령어를 사용합니다.

tail -f 파일경로

같은 오류 문장이 반복해서 출력된다면 해당 오류가 용량 증가의 직접적인 원인일 수 있습니다.

대표적으로 다음과 같은 상황을 확인합니다.

  • 데이터베이스 연결 실패
  • 외부 API 호출 실패
  • 파일 또는 디렉터리 권한 오류
  • 존재하지 않는 경로 반복 호출
  • 애플리케이션 예외 반복
  • 비정상적인 웹 요청
  • 크롤러 또는 공격성 트래픽 증가

로그를 삭제하는 것만으로는 문제가 해결되지 않습니다. 오류가 계속 발생하면 로그 파일은 다시 커집니다.

따라서 로그 정리와 함께 반복 오류의 원인을 수정해야 합니다.

5. 백업 파일과 압축 파일 확인

자동 백업을 설정해 두었지만 오래된 파일을 삭제하는 정책이 없다면 서버 용량이 계속 증가할 수 있습니다.

다음과 같은 파일을 확인합니다.

  • .zip
  • .tar
  • .tar.gz
  • .sql
  • .bak
  • 날짜가 붙은 백업 디렉터리

백업 파일은 필요하지만, 서버 내부에 계속 쌓이면 운영 공간을 차지합니다.

보관 기간을 정하고 오래된 파일은 별도 저장소로 이동하거나 자동 삭제하도록 관리하는 것이 좋습니다.

6. 업로드 폴더 확인

워드프레스나 게시판이 포함된 웹사이트라면 업로드 폴더도 확인해야 합니다.

워드프레스의 경우 일반적으로 다음 경로에 이미지와 첨부파일이 저장됩니다.

wp-content/uploads

이미지를 업로드할 때 원본뿐 아니라 여러 크기의 썸네일이 함께 생성될 수 있습니다. 대용량 이미지나 동영상이 반복적으로 등록되면 예상보다 빠르게 용량이 늘어날 수 있습니다.

다음 항목을 확인합니다.

  • 필요 이상으로 큰 원본 이미지
  • 중복 업로드 파일
  • 사용하지 않는 미디어 파일
  • 영상 및 압축 파일
  • 비정상적인 확장자의 파일

사용 여부가 확실하지 않은 파일은 바로 삭제하지 않는 것이 안전합니다.

7. 캐시와 임시 파일 확인

웹사이트 캐시, 세션, 임시 파일이 계속 누적되는 경우도 있습니다.

주로 확인할 위치는 다음과 같습니다.

  • /tmp
  • 애플리케이션 임시 디렉터리
  • 웹사이트 캐시 폴더
  • 플러그인 캐시 폴더
  • 세션 저장 경로

캐시 파일은 삭제해도 다시 생성되는 경우가 많지만, 현재 실행 중인 서비스에 영향을 줄 수 있으므로 삭제 전에 용도를 확인해야 합니다.

캐시 플러그인을 사용하고 있다면 워드프레스 관리자 화면에서 제공하는 캐시 삭제 기능을 먼저 사용하는 편이 안전합니다.

8. 삭제했는데도 용량이 줄지 않는 경우

큰 파일을 삭제했는데도 df -h에서 사용량이 줄지 않는 경우가 있습니다.

실행 중인 프로세스가 삭제된 파일을 계속 열고 있으면 파일은 화면상으로 사라져도 실제 디스크 공간은 반환되지 않을 수 있습니다.

다음 명령어로 확인할 수 있습니다.

lsof +L1

결과에 큰 파일이 표시된다면 해당 파일을 사용 중인 프로세스를 확인해야 합니다.

이 경우 서비스를 재시작하면 공간이 반환될 수 있지만, 운영 중인 서버라면 영향 범위를 확인하고 진행해야 합니다.

9. 비정상 파일과 보안 문제 확인

파일 용량 증가가 정상적인 운영 패턴과 다르다면 보안 문제도 확인해야 합니다.

다음과 같은 상황은 추가 점검이 필요합니다.

  • 알 수 없는 PHP 파일이 생성됨
  • 업로드 폴더에 실행 파일이 있음
  • 특정 시간대에 파일이 반복 생성됨
  • 관리자도 모르는 압축 파일이 존재함
  • 웹 접속 로그에 비정상 요청이 많음
  • 사용하지 않는 계정이나 관리자 계정이 추가됨

이런 경우에는 파일만 삭제하지 말고 접속 로그, 관리자 계정, 플러그인과 테마 상태까지 함께 확인해야 합니다.

안전한 조치 순서

서버 용량이 부족할 때는 다음 순서로 처리하는 것이 좋습니다.

  1. 전체 디스크 사용량을 확인합니다.
  2. 용량이 큰 디렉터리와 파일을 찾습니다.
  3. 해당 파일의 용도와 생성 주체를 확인합니다.
  4. 로그라면 반복되는 오류 내용을 확인합니다.
  5. 삭제 전에 필요한 파일을 백업합니다.
  6. 오래된 로그, 백업, 캐시 파일을 정리합니다.
  7. 로그 순환과 보관 기간을 설정합니다.
  8. 정리 후에도 용량이 다시 증가하는지 확인합니다.

가장 중요한 것은 파일을 한 번 정리하는 것이 아니라 다시 증가하는지 관찰하는 것입니다.

재발 방지를 위한 관리 방법

로그 순환 설정

로그 파일이 일정 크기 이상 커지면 새 파일로 전환하고, 오래된 로그를 압축하거나 삭제하도록 설정합니다.

리눅스에서는 일반적으로 logrotate를 사용합니다.

백업 보관 기간 설정

일별, 주별, 월별 백업 파일의 보관 기간을 구분하고 오래된 파일이 자동으로 정리되도록 설정합니다.

디스크 사용률 모니터링

디스크 사용률이 일정 기준을 넘으면 알림을 받을 수 있도록 설정합니다.

예를 들어 80%에서는 주의 알림, 90%에서는 긴급 알림을 설정할 수 있습니다.

정기적인 점검

로그, 백업, 업로드, 캐시 디렉터리의 증가 추이를 정기적으로 확인합니다.

갑작스러운 증가가 아니더라도 매달 조금씩 누적되면 결국 서비스 운영에 영향을 줄 수 있습니다.

마무리

서버 용량이 갑자기 늘어났을 때 큰 파일부터 삭제하면 당장은 공간을 확보할 수 있습니다. 하지만 파일이 생성되는 원인을 해결하지 않으면 같은 문제가 다시 발생합니다.

먼저 디스크 사용량과 대용량 파일을 확인하고, 로그 내용과 파일 생성 주기를 살펴보는 것이 중요합니다. 이후 로그 순환, 백업 보관 기간, 디스크 모니터링을 설정하면 같은 문제가 반복되는 것을 줄일 수 있습니다.