본문 바로가기
예바의 LAB

[INSIGHT] 서버 내의 폴더 압축하여 rsync로 전송하기

by 예바두비두밥바 2025. 5. 5.

연구를 진행하면서 서버에 있는 대용량 폴더를 다른 서버로 옮겨야 할 일이 자주 생기게 된다. 매번 폴더 압축하고 rsync로 전송하는 명령어를 찾아보는게 번거로워 글을 작성하여 정리해보고자 한다. 


1. tar로 폴더 압축하기

대용량의 폴더를 더 원할하게 전송하기 위해서 tar 명령어로 압축을 진행한다.

tar -czvf FOLDER_NAME.tar.gz FOLDER_NAME/
  • -c: 새로운 tar 파일 생성
  • -z: gzip 압축 적용
  • -v: (옵션) 압축 진행 상황 출력
  • -f: 출력 파일 이름 지정

2. rsync로 다른 서버에 전송하기

rsync는 파일 전송 및 동기화에 사용되는 명령어로 다른 서버에 파일을 전송하는데 사용한다. scp도 비슷한 용도로 사용되지만, 개인적으로 scp는 파일이 손상되는 경우도 있어서 rsync가 더 안정적이면서 선호하는 편이다.

rsync -avz -e "ssh -p PORT" FOLDER_NAME.tar.gz USERNAME@HOST:/DEST_PATH/
  • PORT: SSH 포트 (기본은 22번으로 설정)
  • USERNAME: 접속할 사용자 계정
  • HOST: IP 주소 또는 도메인
  • /DEST_PATH/: 전송받을 서버의 경로

3. 서버에서 압축 해제하기

tar 명령어로 압축한 폴더를 전송하였으니 자연스레 이를 압축 해제하여 사용해야 한다. 폴더의 압축을 해제하기 위해 tar audfudd

tar -xzvf FOLDER_NAME.tar.gz
  • -x: tar 파일 압축 해제