Jak usunąć wszystkie dane z lodowca?

29

Użyłem narzędzia w systemie Mac OS X o nazwie Arq do tworzenia kopii zapasowych moich danych, ale bardzo trudno było mi przesłać wszystkie moje rzeczy, ponieważ nie mam i nie mogę mieć wystarczająco szybkiego połączenia internetowego.

Postanowiłem więc usunąć wszystkie moje kopie zapasowe, ale ilekroć spróbuję z samego oprogramowania, nic nie robi.

Próbowałem również FastGlacier na innym komputerze z systemem Windows, rozłącza się i zajmuje zbyt dużo zasobów.

Zastanawiałem się, czy jest na to łatwy sposób.

PS Mój lodowiec ma ~ 450 GB w 341907 archiwach

Shereef Marzouk
źródło
Uwaga dla użytkowników Arq - patrz odpowiedź twórcy Arq Stefana Reitshamera poniżej. Unikaj kłopotów z konfiguracją Mtglacier i po prostu użyj narzędzia wbudowanego w Arq!
joewiz

Odpowiedzi:

26

Skarbiec z tego projektu działa dobrze: https://github.com/vsespb/mt-aws-glacier

Zainstaluj, a następnie uruchom następujące polecenia (zamień nazwę przechowalni na nazwę przechowalni):

mtglacier retrieve-inventory --config glacier.cfg --vault vault-name

poczekaj około 2 godzin, a następnie

mtglacier download-inventory --config glacier.cfg --vault vault-name --new-journal vault-name.log
mtglacier purge-vault --config glacier.cfg --vault vault-name --journal vault-name.log
Ran Rubinstein
źródło
Dziękuję bardzo za to, ale niestety nie mam żadnych magazynów na lodowcu do przetestowania z tym, więc jeśli ktoś to przetestuje, daj mi znać, aby oznaczyć prawidłową odpowiedź.
Shereef Marzouk
Dziękuję za opinię @CamiloNova Wybrałem to jako najlepszą odpowiedź na podstawie twojej opinii ^ _ ^
Shereef Marzouk
Musiałem czekać
prawie
1
Ta metoda wydaje się być znacznie szybsza w porównaniu do glacier-vault-remove. Ta metoda była w stanie usunąć 350 GB danych w ciągu kilku godzin, podczas gdy usuwano glacier-vault-removetylko około 30 GB danych co 12 godzin.
gbmhunter
Zdaję sobie sprawę, że ta odpowiedź jest oznaczona jako potwierdzone rozwiązanie, ale dla użytkowników Arq, takich jak oryginalny plakat, odpowiedź Stefana Reitshamera poniżej jest najlepsza, bez użycia rąk. Arq ma wbudowane narzędzie do usuwania Skarbców Lodowca. Nie musisz się bawić w Mtglacier. Po prostu przeczytaj tę odpowiedź i gotowe.
joewiz
15

https://github.com/leeroybrun/glacier-vault-remove został stworzony właśnie w tym celu.

Aby usunąć skarbiec, najpierw zainstaluj zależności:

$ git clone https://github.com/leeroybrun/glacier-vault-remove.git
$ cd glacier-vault-remove
$ python setup.py install

Następnie utwórz plik referencji credentials.jsonw tym samym katalogu:

{
  "AWSAccessKeyId": "YOURACCESSKEY",
  "AWSSecretKey":   "YOURSECRETKEY"
}

Następnie uruchom skrypt w ten sposób

$ python removeVault.py REGION-NAME VAULT-NAME

Przykład:

$ python removeVault.py us-east-1 my_vault
cebula
źródło
1
W tej chwili skrypt jest znacznie wolniejszy niż lodowiec Mt-aws
Dan Poltawski
Poza tym zjada dużo pamięci RAM. Próbuję usunąć około 120 000 archiwów - w 1142 z 125413 zużywa już ponad 1 GB pamięci (i rośnie z każdym archiwum).
aaronk6
7

Jeśli usuniesz folder wspierany przez lodowiec w Arq, trafi on do kosza Arq. Jeśli wybierzesz go w koszu Arq i klikniesz „Usuń na stałe”, Arq usunie wszystkie archiwa Glacier i spróbuje usunąć skarbiec Glacier. Usuwanie skarbca może się nie powieść, ponieważ Amazon musi zaktualizować swój „ekwipunek”, co robi raz dziennie. Następnego dnia przejdź do „Innych zestawów kopii zapasowych” w Arq, znajdź ten skarbiec, wybierz go i kliknij „Usuń”, aby go usunąć.

Jeśli masz skarbiec, który nie jest powiązany z żadnymi kopiami zapasowymi Arq, wybierz „Legacy Glacier Vaults” z menu Arq, wybierz skarbiec i kliknij przycisk, aby go usunąć.

Stefan Reitshamer
źródło
Dzięki, Stefan! Przez kilka dni starałem się wymyślić, jak usunąć moje skarbce Arq - nie instalując mtglacier na moim Macu, tworząc instancję dropcloud ubuntu do uruchomienia mtglacier - i przez cały ten czas rozwiązanie było w Arq.
joewiz
5

Możesz użyć bezpłatnego produktu, takiego jak CloudBerry Explorer http://www.cloudberrylab.com/free

Uwaga: dane Glacier nie są dostępne natychmiast. musisz poczekać 24 godziny na pojawienie się globalnej inwentaryzacji po stronie Amazon, a następnie kliknij przycisk Pobierz ekwipunek i odczekaj kolejne 5 godzin, aby uzyskać ekwipunek dla swojego konta.

Dzięki

Marc Jacobsohn
źródło
Nie miałem nic oprócz lodowca na tym koncie, więc właśnie usunąłem swoje konto aws, oznaczę je jako prawidłową odpowiedź, ponieważ myślę, że zadziałałoby, gdybym spróbował.
Shereef Marzouk,
Niezbyt dobra odpowiedź, ponieważ ten produkt nie działa w systemie OSX.
user3353
1

Wiem, że odpowiedziano na to pytanie jakiś czas temu, ale myślę, że może to pomóc niektórym osobom, ponieważ usuwanie danych z Lodowca jest nadal bardzo kłopotliwe.

Nigdzie nie widziałem tego sugerowanego ... ale jeśli używasz tylko AWS dla Glacier (co, jak sądzę, musi być w przypadku wielu), możesz po prostu zamknąć swoje konto AWS! To właśnie zrobiłem po wielu nieudolnych próbach usuwania danych za pomocą różnych narzędzi.

Po zamknięciu konta Amazon usuwa dane (podobno; powinny one przynajmniej odzyskać miejsce na dysku), a Ty otrzymujesz ostateczny rachunek za trwający miesiąc. Do widzenia Amazon!

Formularz
źródło
Korzystałem z wielu innych usług Amazon i nie chciałem ich stracić, i wydaje mi się, że wielu używa Amazon do kupowania rzeczy, ale dobrze jest mieć to napisane gdzieś dla ludzi, którzy nigdy nie używali Amazon do czegoś innego
Shereef Marzouk
@ShereefMarzouk Cóż, kiedy zamykasz swoje konto w panelu sterowania AWS, w rzeczywistości zamykasz swoje konto AWS , a nie konto Amazon, którego używasz do robienia zakupów. Więc nadal będziesz mógł korzystać z innych usług Amazon (o ile nie są one częścią AWS) jak zwykle.
Formularz
0

Jak usunąć Vault (AWS Glacier)

Ta lista zawiera kilka wskazówek, które należy usunąć za AWS Glacier Vaultpomocą interfejsu AWS CLI (np. Https://aws.amazon.com/en/cli/ ).

Krok 1 / Odzyskaj zasoby

$ aws glacier initiate-job --job-parameters "{\"Type\": \"inventory-retrieval\"}" --vault-name YOUR_VAULT_NAME --account-id YOUR_ACCOUNT_ID --region YOUR_REGION

Poczekaj 3/5 godzin… :-(

Do nowego kroku musisz zdobyć JobId. Po zakończeniu inwentaryzacji odzyskiwania można ją uzyskać za pomocą następującego polecenia:aws glacier list-jobs --vault-name YOUR_VAULT_NAME --region YOUR_REGION

Krok 2 / Uzyskaj ArchivesIds

$ aws glacier get-job-output --job-id YOUR_JOB_ID --vault-name YOUR_VAULT_NAME --region YOUR_REGION ./output.json

Widzieć. Pobieranie wykazu skarbca w Amazon Glacier

Możesz pobrać wszystko ArchiveIdz ./output.jsonpliku.

Krok 3 / Usuń archiwa

PowerShell

z @vinyar

$input_file_name = 'output.json'
$vault_name = 'my_vault'
# $account_id = 'AFDKFKEKF9EKALD' #not used. using - instead

$a = ConvertFrom-Json $(get-content $input_file_name)

$a.ArchiveList.archiveid | %{
write "executing: aws glacier delete-archive --archive-id=$_ --vault-name $vault_name --account-id -"
aws glacier delete-archive --archive-id=$_ --vault-name $vault_name --account-id - }

Pyton

z @robweber

ijson , który zamiast tego odczytuje plik jako strumień. Możesz zainstalować go za pomocą pip

import ijson, subprocess

input_file_name = 'output.json'
vault_name = ''
account_id = ''

f = open(input_file_name)
archive_list = ijson.items(f,'ArchiveList.item')

for archive in archive_list:
    print("Deleting archive " + archive['ArchiveId'])
    command = "aws glacier delete-archive --archive-id='" + archive['ArchiveId'] + "' --vault-name " + vault_name + " --acc$
    subprocess.run(command, shell=True, check=True)

f.close()

PHP

z @Remiii

<?php

$file = './output.json' ;
$accountId = 'YOUR_ACCOUNT_ID' ;
$region = 'YOUR_REGION' ;
$vaultName = 'YOUR_VAULT_NAME' ;

$string = file_get_contents ( $file ) ;
$json = json_decode($string, true ) ;
foreach ( $json [ 'ArchiveList' ] as $jsonArchives )
{
    echo 'Delete Archive: ' . $jsonArchives [ 'ArchiveId' ] . "\n" ;
    exec ( 'aws glacier delete-archive --archive-id="' . $jsonArchives [ 'ArchiveId' ] . '" --vault-name ' . $vaultName . ' --account-id ' . $accountId . ' --region ' . $region , $output ) ;
    echo $output ;
}

Zaznacz: po usunięciu archiwum, jeśli od razu pobierzesz ekwipunek ze skarbca, może on umieścić na liście usunięte archiwum, ponieważ Amazon Glacier przygotowuje ekwipunek ze skarbca tylko raz dziennie.

Widzieć. Usuwanie archiwum w lodowcu Amazon

Krok 4 / Usuń skarbiec

$ aws glacier delete-vault --vault-name YOUR_VAULT_NAME --account-id YOUR_ACCOUNT_ID --region YOUR_REGION

Gist pierwotnie przez @Remiii

Ok Kilka lat temu zamknąłem swoje konto i ponownie otworzyłem je kilka miesięcy temu i zgadnij, co amazon wciąż ma na moim koncie 3 TB, a teraz płacę za nie za ostatnie kilka miesięcy.

Wróciłem do tego pytania i stwierdziłem, że:

  • mt-aws-lodowiec jest prawie niemożliwy do skonfigurowania na najnowszym ubuntu, a następnie poszedł do 12.04 awscli nie ma tam, a kiedy do 14.04 dostałem błąd na temat mojego podpisu ...
  • Odpowiedź Arq nie ma już znaczenia w Arq 5
  • Potem znalazłem powyższą treść i skopiowałem ją tutaj, ponieważ jest ona lepsza dla społeczności
  • Próbowałem moroszki i wygląda na to, że powinna działać. Zaktualizuję tutaj za 4 ~ 10 godzin
Shereef Marzouk
źródło
-1

Na Macu możesz spróbować użyć aplikacji ForkLift (bezpłatnej do oceny), która może połączyć się z Amazon S3.

Marius
źródło
Podłączyłem się do Amazon S3, ale nic mi to nie pokazuje. Czy muszę podać serwer inny niż s3.amazonaws.com, aby uzyskać dostęp do lodowca?
Kevin,
Przepraszam, że minęło już trochę czasu ... Nie pamiętam, jak to ostatecznie naprawiłem ... Myślę, że mogło to być za pomocą narzędzi wiersza polecenia wymienionych w jednym z tych innych postów.
Marius
1
Lodowiec to nie S3. Oba są częścią Amazon Web Services i oba służą do przechowywania plików, ale mają różne przypadki użycia, struktury płatności, ograniczenia i interfejsy API. Z tego powodu narzędzia S3 nie działają z Glacier, a narzędzia Glacier nie działają z S3 (choć nie oznacza to, że nie ma narzędzi, które są kompatybilne zarówno z S3 , jak i Glacier, napisane z odrębnymi programami obsługi sieci i logika aplikacji dla każdej usługi) .
Slipp D. Thompson,