개발노트

고즐의 개발 및 서버 개발 노트

트래픽 초과 걱정 끝! 서버 백업 파일을 분할 압축해서 안전하게 받는 법

# 리눅스분할압축 # tar분할압축 # 서버백업방법 # split명령어 # 리눅스압축해제

Server 2026.04.23 3시간 전 3 회 읽음


안녕하세요! 오늘은 서버 관리자라면 한 번쯤 겪게 되는 대용량 파일 백업 문제를 스마트하게 해결해 보려 합니다.

보통 호스팅을 쓰면 하루 트래픽 제한이 걸려 있죠? 20GB짜리 통 백업 파일을 받다가 중간에 끊기면 트래픽만 날리고 처음부터 다시 받아야 하는 불상사가 생깁니다. 이럴 때 가장 좋은 방법이 바로 나눠서 압축하기입니다.


1. 왜 분할 압축을 하나요?

  • 트래픽 분산: 20GB 파일을 5GB씩 4개로 나누어 며칠에 걸쳐 다운로드할 수 있습니다.
  • 파일 안정성: 전송 중 끊겨도 해당 조각만 다시 받으면 됩니다.
  • 업로드 제한 해결: 일부 클라우드나 FTP는 한 번에 올릴 수 있는 용량이 정해져 있기도 하거든요.


2. 분할 압축하기 (tar + split)

리눅스에서는 tar로 압축하면서 동시에 split으로 잘라주는 명령어를 사용합니다.


추천 명령어 (5GB 단위로 나누기)

tar -cvzf - ./public_html | split -b 5120m - goz.20260422.tgz.


옵션 파헤치기

  • tar -cvzf - : 현재 폴더를 압축하되, 결과물을 파일이 아닌 '표준 출력'으로 보냅니다.
  • | : 앞의 압축 데이터를 뒤의 split 명령어로 넘겨줍니다.
  • split -b 5120m: 5120MB(5GB) 단위로 자르겠다는 뜻입니다.
  • - : 넘겨받은 데이터를 사용한다는 표시입니다.
  • goz.20260422.tgz.: 생성될 파일명의 규칙입니다. 뒤에 aa, ab, ac...가 자동으로 붙습니다.


3. 분할된 파일 합치며 압축 풀기

나누어진 파일들을 다시 하나로 합치면서 압축을 푸는 방법입니다.


추천 명령어

cat goz.20260422.tgz.a* | tar -xvzf -
  • cat으로 모든 조각(a*)을 순서대로 이어 붙여서 tar에게 던져주는 방식입니다. 참 쉽죠?


여기서 잠깐! 경로 설정 주의사항 (매우 중요)


압축을 할 때와 풀 때 가장 많이 실수하는 게 바로 경로입니다.


전체 경로 사용 시: tar -cvzf - /home/goz/public_html

  • 압축을 풀 때도 /home/goz/... 폴더가 그대로 생겨버립니다. 자칫하면 운영 중인 소스 위에 덮어씌워질 위험이 있습니다.

현재 위치 기준(권장): 압축하려는 폴더(public_html) 바로 상위 디렉토리로 이동한 뒤 작업하세요.

  • cd /home/goz 이동 후 tar -cvzf - ./public_html 실행
  • 이렇게 하면 압축을 풀 때 현재 내가 있는 위치에 바로 public_html 폴더가 생겨서 관리가 훨씬 편합니다.


관리자 팁: 권한 설정도 잊지 마세요!

압축을 풀고 나면 파일 소유권이 꼬일 수 있습니다. 웹사이트가 정상 작동하려면 소유권을 다시 맞춰줘야 합니다.

# 소유권 변경
chown -R goz:gozpublic_html/

# 업로드 폴더처럼 쓰기 권한이 필요한 곳만 707 또는 777
chmod 707 public_html/upload

이제 트래픽 걱정 없이 안전하게 서버 백업하세요! 

문의답변