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.