web-dev-qa-db-ja.com

すべての氷河データを削除するには?

Mac OS XでArqと呼ばれるツールを使用してデータをバックアップしていましたが、インターネットに接続できず、十分な速度で接続できないため、すべてのものをアップロードするのは非常に困難でした。

そのため、すべてのバックアップを削除することにしましたが、ソフトウェア自体から実行しようとすると、何も起こりません。

他のWindowsマシンでもFastGlacierを試しましたが、ハングアップしてリソースを大量に消費します。

これを行う簡単な方法があるかどうか私は思っていました。

追伸私の氷河は341907のアーカイブに約450 GBあります

29
Shereef Marzouk

Vaultを削除する方法(AWS Glacier)

この要点は、AWS CLIでAWS Glacier Vaultを削除するためのいくつかのヒントを提供します(つまり https://aws.Amazon.com/en/cli/ )。

ステップ1 /在庫を取得する

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

3/5時間待つ…:

新しいステップでは、JobIdを取得する必要があります。インベントリの取得が完了すると、次のコマンドで取得できます:aws glacier list-jobs --vault-name YOUR_VAULT_NAME --region YOUR_REGION

ステップ2/ArchivesIdsを取得する

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

見る。 ---(Amazon GlacierでのVaultインベントリのダウンロード

すべてのArchiveId./output.jsonファイルで取得できます。

ステップ3 /アーカイブを削除する

パワーシェル

から @ 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 - }

Python

から @ robweber

ijson 。代わりにファイルをストリームとして読み込みます。あなたは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

から @ 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 ;
}

マーク:アーカイブを削除した後、すぐにボールトインベントリをダウンロードすると、Amazon Glacierが1日1回だけボールトインベントリを準備するため、削除されたアーカイブがリストに含まれる場合があります。

見る。 Amazon Glacierでのアーカイブの削除

ステップ4 /ボールトを削除する

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

@ Remiii による最初の要点

では、数年前にアカウントを閉鎖し、数か月前に再開したところ、Amazonのアカウントにまだ3TBが残っていると思いますが、ここ数か月分の請求がありました。

だから私はこの質問に戻って、それを見つけました:

  • mt-aws-glacierを最新のubuntuで設定することはほとんど不可能で、12.04に進みました。awscliはそこにありません。その後、14.04になると、私の署名に関するエラーが発生しました...
  • Arq AnswerはArq 5では関係ありません
  • それから私は 上記の要旨 を見つけ、ここにコピーしました。
  • Cloudberryを試してみましたが、動作するようです。4〜10時間後にここで更新します
1
Shereef Marzouk

このプロジェクトのパージボルトはうまく機能します: https://github.com/vsespb/mt-aws-glacier

インストールしてから、次のコマンドを実行します(vault-nameをボールトの名前に置き換えます)。

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

約2時間待ってから

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
26
Ran Rubinstein

https://github.com/leeroybrun/glacier-vault-remove は、まさにこの目的のために作成されました。

ボールトを削除するには、まず依存関係をインストールします。

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

次に、同じディレクトリに認証情報ファイルcredentials.jsonを作成します。

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

次に、このようなスクリプトを実行します

$ python removeVault.py REGION-NAME VAULT-NAME

例:

$ python removeVault.py us-east-1 my_vault
16
onionjake

ArqのGlacier-backedフォルダーを削除すると、Arqのゴミ箱に移動します。 Arqのゴミ箱でそれを選択し、[完全に削除]をクリックすると、ArqはすべてのGlacierアーカイブを削除し、Glacierボールトを削除しようとします。 Amazonは「在庫」を更新する必要があるため、ボールトの削除は失敗する可能性があります。翌日、Arqの「その他のバックアップセット」の下を参照し、そのボールトを見つけて選択し、「削除」をクリックして削除します。

Arqバックアップに関連付けられていないボールトがある場合は、Arqのメニューから[Legacy Glacier Vaults]を選択し、ボールトを選択して、ボタンをクリックして削除します。

8

CloudBerry Explorerなどのフリーウェア製品を使用できます http://www.cloudberrylab.com/free

注:Glacierデータはすぐには利用できません。 Amazon側でグローバルインベントリが発生するまで24時間待つ必要があります。次に、[Get Inventory]ボタンをクリックし、アカウントのインベントリを取得するためにさらに5時間待つ必要があります。

ありがとう

5
Marc Jacobsohn

私はこの質問に少し前に回答したことを知っていますが、Glacierデータを削除することは依然として非常に面倒なので、これは一部の人々を助けるかもしれないと思います。

私はこれがどこにも提案されていないようです...しかし、GlacierにAWSを使用しているだけなら(多くの場合そうであると思います)、AWSアカウントを単に閉鎖することを検討するかもしれません!これは、さまざまなツールを使用してデータを削除しようとする非常に効果のない日々を過ごした後のことです。

アカウントを閉鎖すると、Amazonはデータを削除し(おそらく、少なくともディスク容量を最終的に再利用するはずです)、進行中の月の最終的な領収書を受け取ります。さようならアマゾン!

1
Form