본문 바로가기
  • 철은 두드릴수록 강해지고 사람은 굴릴수록 강해진다.
Common/Linux

자주 쓰는 파일 전송 명령어: rsync vs scp

by jangddu 2025. 8. 18.

 

 

 

 

 

 

서버 운영이나 개발 환경에서 가장 기본적이면서도 자주 활용되는 작업 중 하나는 파일 전송이다.

특히 로컬과 원격 서버 간 데이터를 주고받을 때 많이 사용되는 명령어가 바로 rsyncscp 이다.

이번 글에서는 두 명령어의 특징과 사용법을 정리하였다.

 

 

 

1. scp (Secure Copy)

scp는 SSH 프로토콜을 기반으로 하는 단순한 파일 복사 도구이다.

  • 장점: 간단하고 직관적
  • 단점: 덮어쓰기만 가능, 변경된 파일만 동기화 불가

기본 사용법

# 로컬 → 원격
scp -i [KEY_PATH] [LOCAL_FILE] [USER]@[HOST]:[REMOTE_PATH]

# 원격 → 로컬
scp -i [KEY_PATH] [USER]@[HOST]:[REMOTE_PATH] [LOCAL_PATH]

예시

scp -i ~/.ssh/catshop-market-key.pem -r ./catshop_order.py catuser@123.45.67.89:/home/catuser/catshop/crawler/

 

 

 

 

 

2. rsync (Remote Sync)

rsync는 이름처럼 동기화(Sync)에 특화된 도구이다.

  • 장점: 변경된 부분만 전송 (속도 빠름), 압축 및 보안 옵션 지원
  • 단점: 별도 설치가 필요할 수 있음 (일반적으로 리눅스에 기본 포함됨)

기본 사용법

# 로컬 → 원격
rsync -av [LOCAL_PATH] [USER]@[HOST]:[REMOTE_PATH]

# 원격 → 로컬
rsync -av [USER]@[HOST]:[REMOTE_PATH] [LOCAL_PATH]

옵션 설명

  • -a : 아카이브 모드 (권한, 타임스탬프 유지)
  • -v : 전송 과정 자세히 출력
  • -z : 전송 시 압축
  • --delete : 원격에서 삭제된 파일은 로컬에서도 삭제

예시

rsync -av catshop_data/ catuser@123.45.67.89:/home/catuser/ -e "ssh -i '~/.ssh/catshop-market-key.pem'"

 

 

 

 

3. rsync vs scp 비교

항목 scp rsync
주요 기능 파일 단순 복사 파일 동기화 (변경분만 전송)
속도 전체 파일 복사 (비효율적) 변경된 파일만 빠르게 전송
사용 난이도 매우 간단 다소 옵션이 많음
활용 상황 소규모 파일 전송 대규모 데이터, 백업, 배포

 

 

 

 

 

4. 활용 꿀팁

  • 백업/배포 자동화 : rsync는 CI/CD 파이프라인에서 배포 시 자주 활용된다.
  • 단순 전송 : 테스트용 파일 한두 개 보낼 때는 scp가 더 편리하다.
  • 보안 키 관리 : AWS EC2 등에서는 -i [KEY_PATH] 옵션으로 PEM 키를 지정해야 한다.

 

 

 

5. 그 외 파일 전송 도구

1. SFTP (Secure File Transfer Protocol)

  • 특징: SSH 프로토콜 기반으로 보안 전송 지원
  • 명령 예시:접속 후 put, get, ls 명령으로 파일 업/다운로드 가능
sftp -i ~/.ssh/id_rsa user@server

 

2. lftp

  • 특징: 고급 FTP/HTTP/SFTP 클라이언트, 자동 재시도·미러링 지원
  • 명령 예시
lftp -u user,password sftp://server mirror -R ./local_dir /remote_dir # 로컬 → 원격 전체 동기화

 

3. rclone

  • 특징: Google Drive, AWS S3, Dropbox 등 클라우드 스토리지와 연동 가능
  • 명령 예시
rclone copy ./data remote:backup/data rclone sync ./data remote:backup/data

 

👉 rsync, scp는 서버 간 직접 전송에 강하고, sftp, lftp는 대화형·자동화에 유리하다.

클라우드 스토리지까지 아우르려면 rclone이 가장 실용적이다.

 

 

 

 

 

6. OS 지원 여부

✅ 파일 전송 도구별 OS 지원

도구 Windows Linux  특징
scp ❌ (기본 없음, Git Bash/WSL/Putty 등 별도 설치 필요) ✅ (OpenSSH 기본 제공) SSH 기반 단순 파일 복사
rsync ❌ (기본 없음, Cygwin/WSL로 사용 가능) ✅ (리눅스 기본 탑재율 높음) 증분 복사(차이만 전송) 가능
sftp ⚪ (Windows 10 이상은 PowerShell에서 sftp 기본 제공, 옛날 버전은 없음) ✅ (OpenSSH 기본 제공) SSH 기반 FTP 대체
lftp ❌ (Windows 기본 없음, Cygwin/WSL 필요) ✅ (리눅스에서 패키지 설치) 고급 FTP/HTTP/HTTPS/SFTP 지원
rclone ✅ (공식 Windows 빌드 제공) ✅ (공식 Linux 빌드 제공) 클라우드 스토리지(Google Drive, S3 등)와 동기화 강점

 

 

 

 

🌼 마무리

정리하면, scp는 단순 복사, rsync는 효율적인 동기화에 적합하다.

상황에 맞게 두 명령어를 적절히 활용하면, 서버 관리와 배포 작업이 훨씬 효율적이고 안정적으로 진행될 수 있다.

👉 작은 파일은 scp, 대규모 프로젝트 배포는 rsync!

 

 

 

 

 

 

'Common > Linux' 카테고리의 다른 글

Bash & Zsh 커스터마이징 가이드  (9) 2025.08.29
SSH로 서버 접속부터 systemd 자동 실행까지  (2) 2025.08.19
nohup, cron, pm2 사용법 정리  (12) 2025.08.06