삼분공부/Server

[Linux] 서버 로그 파일 다운로드하는 가장 간단한 방법: scp 명령어 사용법

케이쓰리 2025. 4. 9. 16:39

서버에 저장된 로그 파일을 로컬 PC로 다운로드해야 할 일이 생길 때가 있습니다. 예를 들어, Nginx, FastAPI, Django 등에서 쌓이는 로그를 분석하거나 보관용으로 백업하고 싶을 때 말이죠.

이럴 때 유용하게 사용할 수 있는 명령어가 바로 scp입니다.


📌 scp란?

scp는 Secure Copy Protocol의 줄임말로, SSH 기반의 안전한 파일 복사 명령어입니다.
즉, 원격 서버와 로컬 PC 간에 파일을 복사할 수 있는 리눅스 기본 명령어입니다.


✅ 기본 사용법

scp [옵션] 사용자명@서버주소:원격파일경로 로컬저장경로

 


📂 예제: 로그 파일 다운로드하기

서버에서 /var/log/myapp.log 파일을 내 컴퓨터의 Downloads 폴더로 받고 싶다면 아래처럼 입력합니다:

scp ubuntu@123.45.67.89:/var/log/myapp.log ~/Downloads/
  • ubuntu: 서버 접속 ID (예: root, ec2-user, etc.)
  • 123.45.67.89: 서버의 공인 IP 주소
  • /var/log/myapp.log: 서버에 있는 로그 파일의 경로
  • ~/Downloads/: 내 컴퓨터에서 저장하고 싶은 경로

💡 처음 접속 시 서버의 fingerprint를 신뢰할 것인지 물어볼 수 있으며, 비밀번호 또는 SSH 키를 입력하라는 메시지가 나올 수 있습니다.


🛠 자주 쓰는 옵션

옵션설명
-P 22 포트 번호 변경 (기본은 22)
-r 디렉토리 전체 복사
-i SSH 개인키 파일 사용 (pem 등)

예시: EC2 서버에서 pem 키로 로그 파일 복사

scp -i ~/Downloads/my-key.pem ec2-user@15.111.222.33:/var/log/app.log ~/Downloads/

⚠️ 유의사항

  • 경로 앞에 ~ 대신 전체 경로(/home/username/Downloads/)를 쓰면 에러가 줄어듭니다.
  • 서버의 방화벽에서 포트 22(SCP용 SSH 포트)가 열려 있어야 합니다.
  • Permission denied 에러가 뜨면 해당 경로에 대한 권한이 없는 경우일 수 있습니다. sudo 권한이 있는 계정인지 확인하세요.

🧩 마무리

scp는 간단하지만 강력한 파일 복사 도구입니다. 로그 파일뿐 아니라 설정 파일, 이미지, 백업 파일 등도 쉽게 주고받을 수 있으니 꼭 익혀두세요!