S3-호환 CLI

익숙한 S3 명령어를 통해 파일과 디렉터리를 관리할 수 있는 명령줄 도구로, AWS S3 사용 경험이 있는 사용자들이 Koneksi 스토리지를 보다 쉽게 활용할 수 있도록 도와줍니다.

완전한 사용 방법 가이드

앱 기능

  • S3 호환 명령: ls, cp, mv, rm, mb, rb와 같은 익숙한 명령을 사용하세요.

  • 크로스 플랫폼 지원: Linux, macOS, Windows에서 작동합니다.

  • 재귀 작업: 재귀적 디렉터리 업로드/다운로드 지원

  • 진행률 표시: 파일 전송 중 시각적 피드백 제공

  • 재시도 로직: 실패한 작업 자동 재시도

  • 유연한 구성: 구성 파일 및 환경 변수 지원

작동 방식

CLI는 S3 개념을 Koneksi의 스토리지 모델로 변환합니다.

  • 버킷 → 연결 디렉터리

  • 객체 → 연결 파일

  • S3 URI → 연결 경로(예: s3://bucket/key → 디렉터리/파일)

설치

전제 조건

  • Go 1.23 이상(소스 빌드용)

  • 유효한 Koneksi API 자격 증명(클라이언트 ID 및 클라이언트 비밀번호)

옵션 1: 사전 빌드된 바이너리 다운로드

  1. 릴리스 페이지를 방문하세요여기arrow-up-right.

  2. 귀하의 플랫폼에 적합한 바이너리를 다운로드하세요:

    1. Linux용 koneksi-s3-linux-amd64

    2. macOS(Intel)용 koneksi-s3-darwin-amd64

    3. macOS(Apple Silicon)용 koneksi-s3-darwin-arm64

    4. Windows용 koneksi-s3-windows-amd64.exe

  3. 바이너리를 실행 가능하게 만듭니다(Linux/macOS):

  1. PATH에 있는 위치로 이동합니다.

옵션 2: 소스에서 빌드

  1. 저장소를 복제합니다.

  1. 바이너리를 빌드합니다.

  1. 시스템 전체에 설치:

옵션 3: 플랫폼별 빌드

특정 플랫폼에 맞춰 빌드:

설정 또는 구성

구성 방법

CLI는 세 가지 구성 방법을 지원합니다(우선순위 순):

  1. 환경 변수(가장 높은 우선순위)

  2. 구성 파일

  3. 명령줄 플래그(특정 옵션용)

구성을 설정하는 방법

방법 1: 구성 파일

~/.koneksi-s3.yaml에 구성 파일을 만듭니다.

방법 2: 환경 변수

KONEKSI_ 접두사로 환경 변수를 설정합니다.

방식 3: 혼합 구성 방식

구성 방법을 혼합하여 사용할 수 있습니다. 예를 들어, 자격 증명은 구성 파일에 저장하되, 디렉터리 ID는 환경을 통해 재정의할 수 있습니다.

구성 확인 중

버킷을 나열하여 구성을 테스트하세요.

올바르게 구성한 경우 디렉토리 목록이 표시됩니다.

기본 사용법

S3 URI 형식 이해

CLI는 S3 스타일 URI를 사용하여 원격 위치를 참조합니다.

  • s3://bucket-name/ - 버킷(디렉토리)을 참조합니다.

  • s3://bucket-name/path/to/object - 객체(파일)를 참조합니다.

필수적인명령

버킷(디렉토리) 목록 나열

버킷에 있는 객체 나열

파일 업로드

파일 다운로드

버킷 만들기 및 제거

명령 참조

ls - 목록 명령

버킷이나 버킷에 있는 객체를 나열합니다.

통사론:

예시들

cp - 복사 명령

로컬 파일 시스템과 S3 간, 또는 S3 위치 간에 파일을 복사합니다.

통사론:

옵션:

  • -r, --recursive: 디렉터리를 재귀적으로 복사합니다.

  • --dry-run: 실제로 복사하지 않고 복사될 내용을 표시합니다.

예시들

mv - 이동 명령

로컬 파일 시스템과 S3 간, 또는 S3 내에서 파일을 이동하거나 이름을 바꿉니다.

통사론:

예시들

rm - 명령 제거

S3에서 객체를 제거합니다.

통사론:

옵션:

  • -r, --recursive: 객체를 재귀적으로 제거합니다.

  • --dry-run: 실제로 제거하지 않고 제거될 항목을 표시합니다.

예시들

mb - 버킷 명령 만들기

새로운 버킷(디렉토리)을 만듭니다.

통사론:

예시들

rb - 버킷 명령 제거

빈 양동이를 꺼내세요.

통사론:

옵션:

  • --force: 비어 있지 않은 버킷을 제거합니다.

예시들:

고급 사용법

대용량 파일 작업

대용량 파일 업로드의 경우 CLI는 다음을 자동으로 처리합니다.

  • 전송 중 진행률 표시

  • 실패 시 자동 재시도

  • 메모리 사용량을 최소화하는 효율적인 스트리밍

일괄 작업

여러 파일 업로드

여러 파일 다운로드

스크립팅 및 자동화

백업 스크립트 예

동기화 스크립트 예제

다양한 디렉토리 ID로 작업하기

특정 작업에 대한 기본 디렉토리 ID를 재정의합니다.

성능 최적화

병렬 업로드

효율적인 재귀 연산

문제 해결 가이드

인증 오류

문제: "인증 실패" 또는 "잘못된 자격 증명"

솔루션:

  1. 자격 증명이 올바르게 설정되었는지 확인하세요.

  1. 자격 증명에 공백이 없는지 확인하세요.

  2. Koneksi 시스템에서 자격 증명이 활성화되어 있는지 확인하세요.

연결 시간 초과

문제: "요청 시간 초과" 오류

솔루션:

  1. 시간 초과 설정을 늘리세요:

  1. 네트워크 연결을 확인하십시오.

  1. 불안정한 연결에 재시도 구성을 사용하세요

파일 업로드 실패

문제: 대용량 파일 업로드 실패

솔루션:

  1. 대용량 파일의 시간 초과를 늘리세요:

  1. 임시 파일의 사용 가능한 디스크 공간을 확인하세요.

  2. 파일 권한 확인

디렉토리/버킷을 찾을 수 없습니다

문제: "버킷을 찾을 수 없음" 오류

솔루션:

  1. 사용 가능한 버킷을 나열하세요.

  1. 버킷 이름 철자를 확인하세요.

  2. 디렉토리 ID가 올바른지 확인하세요:

디버그 모드

문제 해결을 위해 자세한 출력을 활성화하세요.

도움 받기

1. 기본 제공 도움말:

2. 버전 정보:

빠른 참조

필수 명령 요약

구성 빠른 설정

일반적인 패턴

팁과 모범 사례

  1. 재귀 플래그 사용: 디렉터리 작업의 경우 성능 향상을 위해 항상 -r 플래그를 사용하십시오.

  2. 접두사로 구성: S3 스타일 접두사를 사용하여 파일을 구성합니다(예: s3://bucket/year/month/day/).

  3. 드라이 런으로 테스트: --dry-run 플래그를 사용하여 실행 전에 작업을 미리 봅니다.

  4. 반복 작업 스크립팅: 일반적인 작업에 대한 셸 스크립트를 생성합니다.

  5. 전송 모니터링: 대용량 전송의 경우 screen/tmux 세션에서 실행합니다.

  6. 정기 백업: cron 작업을 사용하여 정기 백업을 예약합니다.

  7. 보안 자격 증명: 버전 제어에 자격 증명을 커밋하지 않습니다.

추가 리소스

  • GitHub 저장소: https://github.com/koneksi-tech/s3-cli

  • 이슈 트래커: https://github.com/koneksi-tech/s3-cli/issues

  • 릴리스: https://github.com/koneksi-tech/s3-cli/issues

Last updated