
1. 파일 목록 조회
- 전체 조회 - 하위 디렉토리 포함 조회 하는 방법
--human-readable 을 추가하면 각 파일의 용량을 읽기 편하게 표시 해줌
# /usr/local/bin/aws s3 ls s3://your-bucket --recursive --human-readable
2023-06-19 09:02:34 191.8 MiB 20230619/backup.tar.gz
2023-06-18 09:02:03 746.9 MiB 20230618/backup.tar.gz
2023-06-17 09:02:16 333.9 MiB 20230617/backup.tar.gz
- 특정 확장자만 조회 - .tar.gz
# /usr/local/bin/aws s3 ls s3://your-bucket --recursive | tr -s ' ' | cut -d ' ' -f4- | grep "\.tar.gz$"
- 특정 확장자만 조회 - .tar.gz 또는 .md 파일
# /usr/local/bin/aws s3 ls s3://your-bucket --recursive | tr -s ' ' | cut -d ' ' -f4- | grep -E "(\.tar.gz|\.md)$"
- 특정 확장자 빼고 나머지 조회 - .tar.gz 제외한 그외 파일
# /usr/local/bin/aws s3 ls s3://your-bucket --recursive | tr -s ' ' | cut -d ' ' -f4- | grep -v "\.tar.gz$"
2. 파일 복사
- 파일 복사 - cp 복사 대상 파일, s3 에서 복사할 경로
- s3 상에 디렉토리를 미리 만들어 두지 않아도 돼. 복사하면서 자동으로 디렉토리를 만들어.
# /usr/local/bin/aws s3 cp /var/log/secure s3://your-bucket/var/log/secure
# /usr/local/bin/aws s3 cp /var/log/secure s3://your-bucket/20230619/var/log/secure
# /usr/local/bin/aws s3 cp /var/log/secure s3://your-bucket/backup/var/log/secure
3. 파일 삭제
- 파일 삭제 - rm s3 에서 삭제할 파일
# /usr/local/bin/aws s3 rm s3://your-bucket/var/log/secure
# /usr/local/bin/aws s3 rm s3://your-bucket/20230619/var/log/secure
# /usr/local/bin/aws s3 rm s3://your-bucket/backup/var/log/secure
- 하위 디렉토리 포함 전체 파일 삭제
# /usr/local/bin/aws s3 rm s3://your-bucket --recursive
- 특정 디렉토리 하위만 파일 삭제
# /usr/local/bin/aws s3 rm s3://your-bucket/20230619/ --recursive
# /usr/local/bin/aws s3 rm s3://your-bucket/backup/var/log/ --recursive
4. 기타 커맨드 모음
- 파일 이동
# /usr/local/bin/aws s3 mv test.tar s3://your-bucket
move: ./test.tar to s3://your-bucket/test.tar
- S3 에 있는 파일을 로컬에 저장 (즉, 다운로드)
버킷의 test.tar 를 로컬의 현재 디렉토리에 복사(다운로드)
# /usr/local/bin/aws s3 cp s3://your-bucket/test.tar ./
download: s3://your-bucket/test.tar to ./test.tar
버킷의 test.tar 를 로컬에 test2.tar 로 파일이름을 변경하고 복사(다운로드)
# /usr/local/bin/aws s3 cp s3://your-bucket/test.tar ./test2.tar
download: s3://your-bucket/test.tar to ./test2.tar
- 파일 포함 --include / 파일 제외 --exclude 옵션
모든 .txt 형식의 파일을 포함하여 copy
# /usr/local/bin/aws s3 cp . s3://your-bucket/path --include "*.txt"
모든 .txt 형식의 파일을 포함, 그러나 MyFile로 시작하는 파일명은 제외, 그런데 MyFile1.txt만은 제외하지않고 포함해서 copy
# /usr/local/bin/aws s3 cp . s3://your-bucket/path --include "*.txt" --exclude "MyFile*.txt" --include "MyFile1.txt"
.log 파일만 제외한 모든 파일과 하위 디렉토리 파일이 로컬에 복사
# /usr/local/bin/aws s3 cp s3://your-bucket/ ./ --recursive --exclude "*.log" --include "*"
특정 날짜의 nginx 로그를 다운로드
# /usr/local/bin/aws s3 cp s3://your-bucket/nginx/ . --recursive --exclude "*" --include "access*2016-10-23*"
'imgae-숫자' 로 시작되는 복수 파일만 업로드
# /usr/local/bin/aws s3 cp /Images s3://your-bucket/cp-test/ --recursive --exclude "*" --include "image-*"
upload: ./image-1.jpg to s3://your-bucket/cp-test/image-1.jpg
upload: ./image-4.jpg to s3://your-bucket/cp-test/image-4.jpg
upload: ./image-2.jpg to s3://your-bucket/cp-test/image-2.jpg
upload: ./image-3.png to s3://tyour-bucket/cp-test/image-3.png
끝
이 정도만 기억하면 웬만한 S3 의 작업은 모두 가능할 거야
'클라우드' 카테고리의 다른 글
| [CLOUD] AWS S3 에서 특정 기간이 이전 파일 자동 삭제하기 (S3 파일 삭제 스크립트) (0) | 2023.06.27 |
|---|---|
| [CLOUD] aws cli s3 외부 아웃바운드 통신 허용 목록 (0) | 2023.06.21 |
| [CLOUD] 시스템의 특정 디렉토리를 S3로 자동 백업하기 (s3 백업 스크립트) (0) | 2023.06.16 |
| [CLOUD] aws cli 설치와 테스트 (0) | 2023.06.10 |