Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 정보처리기사 실기 기출문제
- 정보처리기사실기 기출문제
- IntelliJ
- CloudWatch
- CKA 기출문제
- 정보처리기사 실기
- AWS EKS
- Linux
- kotlin spring
- minikube
- Kubernetes
- AI
- Elasticsearch
- kotlin querydsl
- kotlin coroutine
- mysql 튜닝
- PETERICA
- CKA
- 공부
- 티스토리챌린지
- Java
- kotlin
- APM
- 코틀린 코루틴의 정석
- aws
- Pinpoint
- 오블완
- Spring
- 기록으로 실력을 쌓자
- MySQL
Archives
- Today
- Total
피터의 개발이야기
[AWS] S3에서 일괄 파일업로드, 파일다운로드 본문
반응형
S3에 파일이 쌓이고 이것을 일괄적으로 다운받아야하는 경우가 있습니다. 그럴 때 한번에 받을 수 있는 방법을 정리하였습니다.
sync
로컬의 디렉토리와 S3의 경로를 동기화 할 수 있다.
# 다운로드
aws s3 sync s3://bucket-name/ ./
# 업로드
aws s3 sync ./ s3://bucket-name/
버켓의 내용을 로컬 폴더로 동기화 시킨다. 그래서 버켓폴더의 파일들이 로컬로 복사가 됩습니다.
그리고 로컬의 것을 버켓에 업로드를 할 수가 있습니다.
ls
s3의 목록을 조회한다. 이 때 awk를 사용하여 목록을 조건으로 검색할 수 있습니다.
aws s3 ls s3://bucat-name/ |sort | awk '$4 >"" && $1 > "2021-01-20"'
여기서 $4 >""을 넣은 이유는 아래의 그림처럼 폴더 목록을 제거하기 위해서 입니다.
loop
추출한 목록을 기준으로 다운로드 루프를 만들었습니다.
for f in $(aws s3 ls s3://bucat-name/ | sort | awk '$1 > "2021-01-20" && $4 > "" {print $4}'); do
aws s3 cp s3://bucat-name/"$f" ./
done;
간혹 파일명에 빈칸이 포함된 경우 에러가 발생 할 수 있습니다. 그래서 s3://bucat-name/"$f" 형태로 해야 에러를 방지할 수 있습니다.
참고할만한 자료들
반응형
'AWS' 카테고리의 다른 글
[AWS] Amazon EBS 볼륨 증설 및 kubenetes PV, PVC 볼륨 수정 과정 정리 (0) | 2022.05.29 |
---|---|
[AWS] AWS 도메인 설정부터 로드밸런스 설정 및 SSL 인증서 설정기 (0) | 2021.02.22 |
[AWS]spring s3 파일 다운로드, 업로드, 삭제, 이름변경 방법 (2) | 2021.01.31 |
[AWS] EC2 root 계정 초기화 방법 (0) | 2021.01.18 |
[AWS] Scale out vs Scale up (0) | 2020.12.25 |
Comments