Amazon S3에서 삭제 된 파일 복구


답변:


20

Amazon S3 설명서 에 따르면 :

일단 삭제되면 객체를 복원하거나 삭제를 취소 할 수있는 방법이 없습니다.


불행히도 S3는 스냅 샷을 지원하지 않습니다.
11

1
일부 사람들에게 희망을주기 위해 요즘 버킷에 버전 관리가 설정된 경우 파일을 삭제 취소 할 수 있습니다.
jweyrich

어떻게 멍청이 ....?
scytale

43

버전 관리를 사용하는 경우 가능합니다! 버전이 지정된 버킷에서 파일에 대한 삭제 작업은 실제로 파일을 삭제하지 않지만 "삭제 마커"가있는 버전을 추가합니다. AWS CLI를 사용하여 삭제 마커를 삭제할 수 있습니다.

aws s3api delete-object --bucket yourbucket-name --key "yourfile" --version-id id_of_the_delete_marker

버킷의 모든 파일을

aws --output text s3api list-object-versions --bucket yourbucket-name > files.txt

버킷의 모든 파일을 삭제 취소하려면 다음을 시도하십시오.

echo '#!/bin/bash' > undeleteScript.sh && aws --output text s3api list-object-versions --bucket yourbucket-name | grep -E "^DELETEMARKERS" | awk '{FS = "[\t]+"; print "aws s3api delete-object --bucket yourbucket-name --key \42"$3"\42 --version-id "$5";"}' >> undeleteScript.sh && . undeleteScript.sh; rm -f undeleteScript.sh;

이 답변에 감사드립니다! 완벽하게 작동했습니다.
tacotuesday

친구! 삭제 취소 모든 파일 스크립트가 방금 생명을 구했습니다. 감사합니다.
herostwist

위 스크립트의 --output=text경우 작동 하려면을 추가해야합니다 . 그는 .JSON 파일이 아닌 .txt 파일을 통해 AWS 명령을 출력한다고 가정합니다.
Brad Allison

스크립트를 시도했지만 객체를 복원하지 않고 영구적으로 삭제합니다! 내가 버킷의 소유자가 아니기 때문에 당황 할 수 있습니까?
nicola

1
이것이 왜 대답이 아닌가? @vonhogen 선택을 재고하십시오 :)
Janaka Bandara


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.