BaeBox

S3 목록 다운로드를 위한 쉘 스크립트 본문

개발 관련/LInux

S3 목록 다운로드를 위한 쉘 스크립트

배모씨. 2023. 7. 20. 02:30
반응형

 

업무를 하다가 dynamoDB 에서 s3로 데이터를 뽑고, 그 데이터를 저장하는 과정이 번거로웠던 적이 있어서 작성했던 쉘 스크립트다.

aws-cli 가 필요하다.

 

# export-dynamo.sh
#!/bin/bash

export AWS_PROFILE=dev

DOMAINS=(
  "domain"
  "domain2"
)
EXPORT_PATHS=(
  "s3://bucket/AWSDynamoDB/123123123-c16fcad5/data/"
  "s3://bucket/AWSDynamoDB/123123123-ad15794f/data/"

)

for i in "${!DOMAINS[@]}"
do
    echo "${DOMAINS[$i]} ::: ${EXPORT_PATHS[$i]}"
    bash ./download-by-table.sh "${DOMAINS[$i]}" "${EXPORT_PATHS[$i]}"
done

위 스크립트를 실행하면 배열 크기만큼 루프를 돌면서 download-by-table.sh 스크립트를 실행한다.

DOMAINSEXPORT_PATHS 변수를 채워주고 실행하면 된다.
DOMAINS는 다운로드 받고자하는 디렉토리명,  EXPORT_PATHS는 다운받고자 하는 S3ARN이다.

# download-by-table.sh
#!/bin/bash

DOMAIN=$1
EXPORT_PATH=$2

aws s3 ls "$EXPORT_PATH"
aws s3 sync "$EXPORT_PATH" ./"$DOMAIN"/

cd ./"$DOMAIN" || return

for file in *.gz
do
    gunzip "$file"
done

 

 

 

반응형

'개발 관련 > LInux' 카테고리의 다른 글

리눅스 기본 명령어 (ls, cd, mkdir, rm, cp, mv)  (0) 2023.07.20
sed (Stream Editor)  (0) 2020.07.08
cron 가라로 돌리기.  (0) 2020.07.08
쉘 스크립트 옵션  (0) 2020.07.08
함수 사용법  (0) 2020.07.03
Comments