バックアップ – すべての氷河のデータを削除するには?

amazon-glacier amazon-web-services backup

私は私のデータをバックアップするためにArqと呼ばれるMac OS X上でツールを使用していたが、私はそれがないし、それのために十分に高速であるインターネット接続を持つことができないので、すべての私のものをアップロードするのはとても難しいことがわかりました

そこで、バックアップを全て削除することにしたのですが、ソフト自体からやろうとするといつでも何もしてくれません

他のWindowsマシンでもFastGlacierを試してみましたが、ハングアップしてしまい、リソースを取りすぎてしまいました

何か簡単な方法はないかと思っていました

P.S. 私の氷河は341907のアーカイブで〜450GBを持っています

  30  Shereef Marzouk  2013-12-13


ベストアンサー

このプロジェクトからのパージ・ヴァルトはうまく機能しています。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

27  Ran Rubinstein  2014-03-18


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

Example :

$ python removeVault.py us-east-1 my_vault

16  onionjake  2015-01-05


ArqでGlacierでバックアップされたフォルダを削除すると、それはArqのゴミ箱に入ってしまいます。Arqのゴミ箱で選択して “Delete Permanently “をクリックすると、ArqはすべてのGlacierアーカイブを削除し、GlacierのVaultを削除しようとします。Amazonは「インベントリ」を更新しなければならないので、Vaultの削除は失敗するかもしれません。翌日、Arqの「その他のバックアップセット」を参照して、その保管庫を見つけ、選択して「削除」をクリックして削除します

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

8  Stefan Reitshamer  2013-12-18


CloudBerry Explorer http://www.cloudberrylab.com/free のようなフリーウェア製品を使用することができます

注意:Glacierのデータはすぐには入手できませんので、Amazon側でグローバル在庫が発生するまで24時間ほど待ってから、「在庫を入手」ボタンをクリックして、さらに5時間ほど待つ必要があります

Thanks

5  Marc Jacobsohn  2013-12-14


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

このGistでは、AWS CLI (https://aws.amazon.com/en/cli/)を使ってAWS Glacier Vaultを削除するためのヒントを提供しています

ステップ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を取得する必要があります。retriveのインベントリができたら、以下のコマンドで取得できます。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

参照してください。アマゾン氷河で保管庫のインベントリをダウンロードする

ArchiveIdをすべて./output.jsonファイルで取得することができます

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

Powershell

@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回程度しか準備しないため、削除したアーカイブがリストに含まれてしまうことがあります

参照してください。アマゾン氷河のアーカイブを削除する

ステップ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アンサーはArq5ではもう関係ありません
  • そして、above gistを見つけ、その方がコミュニティのためになるのでここにコピーしました
  • クラウドベリーを試してみましたが、それは動作するはずのように見えます

2  Shereef Marzouk  2019-10-04


この質問は少し前にも回答されていると思いますが、Glacierのデータを削除するのはやはり非常に面倒なので、一部の人には参考になるかもしれません

どこにも書いてなかったけど、もしAWS for Glacierを使っているだけなら(多くの人がそうだと思うけど)、AWSのアカウントを閉じた方がいいかもしれませんね。それが、いろいろなツールを使ってデータを削除しようとして、何日も頭を悩ませた末にやったことです

アカウントを閉じると、Amazonはあなたのデータを削除します(おそらく、彼らは最終的には少なくともディスク容量を取り戻すはずです)。さようならAmazon!

1  Form  2016-08-18


私のoutput.jsonファイルは1.2GBでした。そのため、上記で提案されたスクリプトのほとんどは動作しません(どれもその長さの1行ファイルを読み込むことができません)

そこで、私はいくつかのUnixファイル操作の魔法に頼りました

sed 's/ArchiveId":"/\n/g' output.json > output2
cut -c 1-138 output2 > output3
tail -n +2 output3 > output4
while read in; do aws glacier delete-archive --vault-name VAULT_NAME_GOES_HERE --account-id ACCOUNT_ID_GOES_HERE --archive-id $in; done < output4
  • 最初のコマンドでは、テキストArchiveId":"のすべてのインスタンスを改行文字に置き換え、新しいファイルを作成します
  • 2 番目のコマンドでは、ArchiveId の後 (138 文字以降) をすべてカットして、最終的な新しいファイルを作成します
  • 3つ目は1行目を完全に削除します
  • 4つ目は実際にawsを使って削除を行います

(これらはおそらく一つのコマンドにまとめることができますが、途中で出力をダブルチェックしたかったのです)

--archive-idに複数の引数が渡されていることを推察するメッセージがランダムで不定期に送られてきたので、これで少なくともほとんどのアーカイブが削除され、残りのアーカイブが単発で処理できることを期待して、繰り返してみることにします

0  Corpulent Brony  2020-06-21


Macでは、Amazon S3に接続できるForkLiftアプリ(評価用無料)を使用してみることができます

-1  Marius  2014-07-07


タイトルとURLをコピーしました